Подготовка к установке кластера

В разделе приведена информация и даны материалы для подготовки к установке кластера ADH с помощью Ambari:

Ambari обеспечивает комплексное решение для управления и мониторинга кластера ADH. Используя API-интерфейс Ambari Web UI и REST, можно развертывать, разрабатывать, управлять изменениями конфигурации и контролировать службы всех узлов кластера с центральной точки.

Системные требования

Для корректного запуска Hadoop необходимо соблюдение минимальных системных требований, представленных в таблице, а также описанных в разделах Требования к памяти, Требования к объему пакета и количеству индексных дескрипторов и Проверка максимального количества открытых файловых дескрипторов.

Табл. 2. Минимальные системные требования для установки кластера Arenadata Ambari
Компонент Требования
Платформа
  • Intel x86_64
  • IBM Power (Little-Endian)
Операционная система

Поддерживаются следующие 64-разрядные ОС:

  • Red Hat Enterprise Linux (RHEL) v7.x;
  • CentOS v7.x;
  • Suse Enterprise Linux 12sp3

Установщик использует множество пакетов из базовых
репозиториев ОС. Если нет полного набора базовых
репозиториев ОС, доступных для всех компьютеров во
время установки, могут возникнуть проблемы.

В случае возникновения проблем с недоступными
базовыми хранилищами ОС, необходимо обратиться к
системному администратору для обеспечения
проксирования или зеркалирования этих дополнительных
репозиториев

Браузер

Мастер установки Ambari работает как веб-приложение
на основе браузера. Поэтому необходимо наличие
машины, способной использовать графический браузер
для применения данного веб-инструмента.

Минимальные требуемые версии браузера:

  • Internet Explorer 9.0 (устаревшая версия);
  • Firefox 18;
  • Google Chrome 26;
  • Safari 5;

На платформе рекомендуется обновить браузер до
последней, стабильной версии (кроме Internet
Explorer 9.0)

Программное обеспечение

На всех узлах кластера необходимо установить
следующие компоненты:

  • YUM и rpm (RHEL / CentOS);
  • Zypper и php_curl (SLES);
  • Scp, curl, unzip, tar и wget;
  • OpenSSL (v1.01, build 16 или новее);
  • Python v2.7
Java

Поддерживаются следующие среды выполнения Java:

  • Oracle JDK 1.8 64-разрядный: минимум JDK 1.8.64;
База данных

Ambari требует реляционную базу данных для хранения
информации о конфигурации кластера и топологии. При
установке ADH Stack с Hive или Oozie – для них также
требуется реляционная база данных

  • Ambari:
    • PostgreSQL 8;
    • PostgreSQL 9.1.13+, 9.3;
    • MariaDB 5.5;
    • Oracle 11g R2, 12c.

По умолчанию Ambari устанавливает инстанс PostgreSQL
на хост сервера Ambari. При этом использование данного
инстанса PostgreSQL, MySQL или Oracle необязательно.
Дополнительная информация указана в главе
Установка сервера Ambari 2.6.2

  • Hive:
    • PostgreSQL 8;
    • PostgreSQL 9.1.13+, 9.3;
    • MariaDB 5.5;
    • Oracle 11g R2, 12c.

По умолчанию (на RHEL/CentOS) Ambari устанавливает
инстанс MySQL на хосте Hive Metastore. Также можно
использовать указанный инстанс PostgreSQL, MySQL или
Oracle. Дополнительная информация указана в главе
Установка сервера Ambari 2.6.2

  • Oozie:
    • PostgreSQL 8;
    • PostgreSQL 9.1.13+, 9.3;
    • MariaDB 5.5;
    • Oracle 11g R2, 12c.

По умолчанию Ambari устанавливает инстанс Derby на
хосте Oozie Server. При этом использование данного
инстанса PostgreSQL, MySQL или Oracle необязательно.
Использование Derby в качестве базы метаданных Oozie
не рекомендуется для продуктивного использования.
Дополнительная информация указана в главе
Установка сервера Ambari 2.6.2.

Инстанс Derby для рабочей среды не должен
использоваться по умолчанию. Если планируется
применение Derby для demo-версии, разработки или
тестирования окружающей среды, перенос базы данных
Oozie из Derby в новую базу данных доступен только
в Community Edition

  • Ranger:
    • PostgreSQL 9.1.13+, 9.3;
    • MariaDB 5.5;
    • Oracle 11g R2, 12c.

Для Ranger необходим указанный инстанс PostgreSQL,
MySQL или Oracle.

Для базы данных Ambari, если используется
существующая база данных Oracle, необходимо убедиться,
что инстанс Oracle работает на порте, отличном от 8080.
Это необходимо, чтобы избежать конфликта с портом
Ambari, установленном по умолчанию. Также следует
обратиться к справочному руководству Ambari для
получения информации о возможных изменениях порта по
умолчанию сервера Ambari.

Использование параметров базы данных Microsoft SQL
Server или SQL Anywhere не поддерживается.

Если используется существующая база данных,
развернутая на том же сервере, что и Ambari Server,
необходимо, чтобы эта база работала на порте,
отличном от 8080

Требования к памяти

Хост Ambari должен иметь как минимум 1 ГБ оперативной памяти и 500 МБ свободной. На любом узле можно проверить доступную память по команде:

free –m

В общем случае хосту, на котором планируется запуск Ambari Metrics Collector, необходимо иметь доступную память и дисковое пространство в зависимости от размера кластера.

Табл. 3. Требования к объему памяти в зависимости от размера кластера
Количество хостов Доступная память Дисковое пространство
1 1024 MB 10 GB
10 1024 MB 20 GB
50 2048 MB 50 GB
100 4096 MB 100 GB
300 4096 MB 100 GB
500 8096 MB 200 GB
1000 12288 MB 200 GB
2000 16384 MB 500 GB

Сведения в таблице предлагаются в качестве рекомендаций. Необходимо проверять каждый частный случай.

Требования к объему пакета и количеству индексных дескрипторов

Табл. 4. Приблизительные значения размера пакета и количества индексных дескрипторов
  Размер пакета Количество индексных дескрипторов
Ambari Server 100MB 5.000
Ambari Agent 8MB 1.000
Ambari Metrics Collector 225MB 4.000
Ambari Metrics Monitor 1MB 100
Ambari Metrics Hadoop Sink 8MB 100
After Ambari Server Setup Данные отсутствуют 4.000
After Ambari Server Start Данные отсутствуют 500
After Ambari Agent Start Данные отсутствуют 200

Проверка максимального количества открытых файловых дескрипторов

Рекомендуемое максимальное количество открытых файловых дескрипторов – более 10000. Для проверки текущего значения необходимо выполнить следующие команды на каждом хосте:

ulimit -Sn
ulimit -Hn

Если значение максимального количества открытых файловых дескрипторов не превышает 10000, то следует установить подходящее значение, выполнив команду:

ulimit -n 10000

Сбор информации

Перед развертыванием кластера ADH необходимо:

  • Проверить полное доменное имя (FQDN) каждого хоста в кластере. Мастер установки Ambari поддерживает использование IP-адресов. Для проверки и установки FQDN необходимо воспользоваться командой:

    hostname –f

Развертывание всех компонентов ADH на одном хосте возможно, но не рекомендуется для продуктивного использования. Как правило, для минимального кластера настраивается три узла – один главный и два подчиненных.

  • Определить список компонентов, которые необходимо настроить на каждом узле;
  • Установить базовые каталоги, которые будут определены в качестве точек для хранения:
    • Узла NameNode;
    • Узла (узлов) DataNode (в этих каталогах не должно содержаться никаких других данных);
    • Узла Secondary NameNode;
    • Узла Oozie;
    • Узла YARN;
    • Узлов ZooKeeper, если устанавливается ZooKeeper;
    • Различных журналов, файлов pid и db, в зависимости от типа установки.

Необходимо использовать каталоги, которые предоставляют постоянные места хранения компонентов ADH и данных Hadoop.

Important

Не используйте /TMP каталог для установки, так как файлы могут быть удалены в любое время

Подготовка к установке Hadoop

Для корректного развертывания Arenadata Hadoop необходимо выполнить действия, описанные в главах:

Настройка беспарольного SSH доступа к хостам

Для Ambari Server необходимо, чтобы Ambari Agents были установлены на всех узлах кластера. Сервер Ambari связывается с агентами для выполнения установки и управления задачами кластера Arenadata.

Для автоматической установки Ambari-агентов на всех узлах кластера сервером Ambari необходимо для учетной записи, под которой производится установка (по умолчанию от root), настроить беспарольное SSH-соединение между хостом Ambari Server и всеми другими хостами в кластере.

Для настройки беспарольного SSH необходимо под выбранной учетной записью выполнить следующие инструкции (на примере root):

  • Создать публичный и приватный ключи SSH на хосте сервера Ambari:

    ssh-keygen

  • При запросе пароля для приватного ключа необходимо не задавая значения (поле для ввода пароля оставить пустым) нажать клавишу Enter;

  • Скопировать публичный ключ SSH (id_rsa.pub) в учетную запись root на все узлы кластера:

    ssh-copy-id root@<remote.target.host>

    где <remote.target.host> – значение имени каждого хоста в кластере;

    В случае если во время первого подключения отображается предупреждение, необходимо ответить yes:

    Are you sure you want to continue connecting (yes/no)?

  • Убедиться, что с сервера Ambari выполняется подключение к каждому хосту в кластере с помощью SSH без пароля:

    ssh root@<remote.target.host>

  • (Опционально) Сохранить копию приватного ключа SSH на компьютере, с которого планируется запуск веб-мастера установки Ambari Install Wizard.

Хост сервера Ambari использует аутентификацию публичного ключа SSH для удаленного доступа и установки Ambari-агента.

Так же Ambari-агенты возможно установить вручную на каждом узле кластера. В этом случае не будет необходимости создавать и распространять ключи SSH.

Настройка учетных записей пользователей

Для каждого сервиса ADH необходима учетная запись пользователя ОС. Мастер установки Ambari создает новые и сохраняет все существующие учетные записи пользователей и использует их при настройке сервисов Hadoop.

Синхронизация часов на всех узлах кластера

Часам на всех узлах кластера и на машине, запускающей браузер для доступа к веб-интерфейсу Ambari, необходимо иметь возможность синхронизации друг с другом. Для этого следует включить службу NTP и убедиться, что синхронизация происходит автоматически:

  • RHEL/CentOS 7 & SUSE/SLES 12:

    systemctl is-enabled ntpd

Для настрйоки службы NTP на автоматический запуск при загрузке машины необходимо выполнить следующую команду на каждом хосте:

  • RHEL/CentOS 7 & SUSE/SLES 12:

    systemctl enable ntpd

Для запуска службы NTP необходимо выполнить команду на каждом хосте:

  • RHEL/CentOS 7 & SUSE/SLES 12:

    systemctl start ntpd

Настройка DNS и NSCD

Все узлы в кластере должны быть настроены как для прямого, так и для обратного DNS.

В случае если не получается настроить DNS, необходимо отредактировать файл /etc/hosts на каждом узле кластера так, чтобы он содержал IP-адрес и FQDN каждого узла.

Приведенные инструкции представлены в виде обзора и охватывают базовую настройку сети для общих узлов Linux. Разные версии и варианты Linux могут потребовать различные команды и процедуры.

Hadoop сильно зависит от DNS и выполняет многие DNS-запросы во время работы. Для того, чтобы снизить нагрузку на инфраструктуру DNS, настоятельно рекомендуется использовать Name Service Caching Daemon (NSCD) на узлах кластера под управлением Linux. NSCD кэширует запросы хоста, пользователя и группы, а также обеспечивает лучшую производительность и снижает нагрузку на инфраструктуру DNS.

Редактирование файла хоста

Для редактирования файла хоста необходимо, используя текстовый редактор, открыть файл hosts на каждом узле кластера командой:

vi/etc/hosts

И добавить строку для каждого хоста, состоящую из IP-адреса и FQDN, например:

1.2.3.4 <fully.qualified.domain.name>
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

Проверка имени хоста

Проверка установленного имени хоста осуществляется командой:

hostname –f

В результате для имени хоста возвращается значение fully.qualified.domain.name. Для установки имени на каждом узле кластера необходимо использовать команду:

hostname <имя узла>

Редактирование файла конфигурации сети

С помощью текстового редактора необходимо открыть файл конфигурации сети на каждом узле и установить ему требуемую конфигурацию сети для каждого узла:

vi /etc/sysconfig/network

Следует изменить свойство HOSTNAME, чтобы задать FQDN:

NETWORKING=yes
HOSTNAME=<fully.qualified.domain.name>

Настройка IPTables

Для взаимодействия во время установки Ambari с развернутыми узлами необходимо, чтобы определенные компоненты были открыты и доступны. Самый простой способ сделать это – временно отключить IPTables:

  • RHEL/CentOS 7:

    systemctl disable firewalld
    systemctl stop firewalld
    
  • SUSE/SLES 12:

    rcSuSEfirewall2 stop
    сhkconfig SuSEfirewall2 off
    

По завершению установки следует перезапустить IPTables.

В случае если протоколы безопасности предотвращают отключение IPTables, можно продолжить работу с включенными IPTables при условии, что все необходимые порты открыты и доступны.

В процессе установки Ambari-сервера Ambari проверяет, работают ли IPTables. В случае если IPTables запущены, выдается предупреждение, напоминающее о необходимости проверить, что требуемые порты открыты и доступны.

В мастере установки на шаге подтверждения узла также выдается предупреждение для каждого хоста с запущенными IPTables.

Настройка SELinux, PackageKit и Umask

Работа с SELinux не поддерживается, поэтому необходимо его отключить, выполнив команду:

  • RHEL/CentOS 7:

    setenforce 0
    

И установить значение /etc/selinux/config.

На установочном узле, где запущен RHEL/CentOS с установленным PackageKit, с помощью текстового редактора необходимо открыть /etc/yum/pluginconf.d/refresh-packagekit.conf и выполнить следующее изменение:

  • RHEL/CentOS 7:

    enabled=0
    

При создании нового файла или папки в системе Linux UMASK устанавливает разрешения по умолчанию или базовые разрешения. Большинство дистрибутивов Linux устанавливают UMASK значение по умолчанию 022. Это разрешение допускает чтение, запись и выполнение 755 для новых файлов или папок. Значение UMASK равное 027 допускает чтение, запись и выполнение 750 для новых файлов или папок.

Ambari поддерживает оба значения UMASK. Например, чтобы установить значение UMASK равное 022, необходимо запустить команду в корне на всех хостах:

vi /etc/profile

Затем добавить следующую строку:

umask 022