Перейти к основному содержимому

2.3. Установка Ozone в распределённой среде

Установка и настройка Apache Ozone: Установка в распределённой среде

Apache Ozone предназначен для работы в распределённой среде, где компоненты системы (OM, SCM и DataNodes) развернуты на разных серверах. Такая архитектура обеспечивает горизонтальное масштабирование, высокую доступность и отказоустойчивость. В этом разделе представлена инструкция по развертыванию Ozone в распределённой среде.


1. Предварительные требования

  1. Серверы:

    • Минимум 5 узлов:
      • 1 или 3 узла для Ozone Manager (OM)
      • 3 узла для Storage Container Manager (SCM)
      • 3+ узла для DataNode
        Больше узлов — лучше для отказоустойчивости.
  2. Общие требования:

    • Установлены Java 11+ и Python 3.6+ на всех узлах.
    • Доступ к интернету или репозиторию для установки зависимостей.
    • Конфигурация сети с открытыми нужными портами (9878, 9861, 9862 и др.).
    • Синхронизация времени на всех узлах через NTP.
  3. DNS или IP:

    • Каждому узлу присвоено имя хоста или статический IP-адрес.
    • Узлы должны иметь возможность обмениваться данными между собой через сеть.

2. Развертывание на узлах (OM, SCM, DataNode)

  1. Установка Apache Ozone на всех узлах:
    Выполните следующие команды на каждом узле:

    wget https://downloads.apache.org/ozone/ozone-1.3.0/ozone-1.3.0.tar.gz
    tar -xzf ozone-1.3.0.tar.gz
    cd ozone-1.3.0
    mkdir -p /var/lib/ozone
  2. Настройка ozone-site.xml на всех узлах:
    Перейдите в директорию конфигураций:

    cd conf
    nano ozone-site.xml

    Добавьте следующие настройки:

    <configuration>
    <!-- Конфигурация OM -->
    <property>
    <name>ozone.om.nodes</name>
    <value>om1,om2,om3</value>
    </property>
    <property>
    <name>ozone.om.address.om1</name>
    <value>om1.example.com:9878</value>
    </property>
    <property>
    <name>ozone.om.address.om2</name>
    <value>om2.example.com:9878</value>
    </property>
    <property>
    <name>ozone.om.address.om3</name>
    <value>om3.example.com:9878</value>
    </property>

    <!-- Конфигурация SCM -->
    <property>
    <name>ozone.scm.nodes</name>
    <value>scm1,scm2,scm3</value>
    </property>
    <property>
    <name>ozone.scm.address.scm1</name>
    <value>scm1.example.com:9861</value>
    </property>
    <property>
    <name>ozone.scm.address.scm2</name>
    <value>scm2.example.com:9861</value>
    </property>
    <property>
    <name>ozone.scm.address.scm3</name>
    <value>scm3.example.com:9861</value>
    </property>

    <!-- Настройка DataNode -->
    <property>
    <name>ozone.datanode.data.dir</name>
    <value>/var/lib/ozone</value>
    </property>
    </configuration>
  3. Настройка сетевых узлов:
    Убедитесь, что все узлы видны друг другу через DNS или IP, и необходимые порты открыты.


3. Запуск и проверка работы компонентов

  1. Запустите SCM на каждом SCM-узле:
    Выполните на каждом узле SCM:

    bin/ozone scm --daemon start
  2. Запустите OM на каждом OM-узле:
    Выполните на каждом узле OM:

    bin/ozone om --daemon start
  3. Запустите DataNode на каждом узле DataNode:
    Выполните на каждом узле DataNode:

    bin/ozone datanode --daemon start
  4. Проверка состояния узлов:
    На одном из узлов выполните:

    bin/ozone admin service list

    Убедитесь, что все OM, SCM и DataNode работают корректно.


4. Создание объекта для тестирования

  1. Создайте volume:

    bin/ozone sh volume create /distributed-volume
  2. Создайте bucket:

    bin/ozone sh bucket create /distributed-volume/mybucket
  3. Добавьте файл в bucket:

    echo "Данные Ozone" > data.txt
    bin/ozone sh key put /distributed-volume/mybucket/mykey data.txt
  4. Проверьте содержимое файла:

    bin/ozone sh key get /distributed-volume/mybucket/mykey

5. Мониторинг и управление кластером

  1. Доступ к веб-интерфейсу:
    Перейдите в браузере на адрес одного из узлов SCM или OM:

    http://scm1.example.com:8080
  2. Интеграция с Prometheus и Grafana:
    Настройте мониторинг, добавив метрики Ozone в Prometheus и визуализируйте их в Grafana для удобного наблюдения за кластером.


6. Остановка и перезапуск кластера

  1. Остановите все компоненты:
    Выполните на каждом узле:

    bin/ozone scm --daemon stop
    bin/ozone om --daemon stop
    bin/ozone datanode --daemon stop
  2. Перезапустите компоненты:
    Для перезапуска выполните команды запуска снова.


7. Резервное копирование и восстановление

  1. Резервное копирование метаданных:
    Регулярно выполняйте резервное копирование данных SCM и OM, чтобы избежать потери метаданных.

  2. Восстановление из резервной копии:
    При сбое используйте резервные копии для восстановления состояния кластера.


Итог

Установка Apache Ozone в распределённой среде позволяет создать высокоэффективное и отказоустойчивое хранилище данных. Следуя этой инструкции, вы сможете развернуть кластер Ozone с несколькими узлами OM, SCM и DataNode, обеспечив горизонтальное масштабирование и высокую надёжность системы хранения.