Распределенное Хранилище Данных В Концепции Data Lake: Установка Cdh

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

На этот раз мы хотим рассказать о том, как мы решили проблемы с установкой CDH.

Распределенное хранилище данных в концепции Data Lake: установка CDH



Установка CDH

Запускаем сервер Cloudera Manager, добавляем его в автозагрузку и проверяем, что он перешел в активное состояние:
  
   

systemctl start cloudera-scm-server systemctl enable cloudera-scm-server systemctl status cloudera-scm-server

После его запуска перейдите по ссылке «имя хоста:7180/», войдите в систему (admin/admin) и продолжите установку из графического интерфейса.

После авторизации автоматически начнется установка и вы попадете на страницу добавления хостов в кластер:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Рекомендуется добавить все хосты, которые будут каким-либо образом связаны с развернутой средой (даже если на них не будут размещаться сервисы Cloudera).

Это могут быть машины с непрерывной интеграцией, инструменты BI или ETL или инструменты обнаружения данных.

Включение этих машин в кластер позволит установить шлюзы служб кластера (Gateways), содержащие файлы с конфигурацией и расположением служб кластера, что упростит интеграцию со сторонними программами.

Cloudera Manager также предоставляет удобные инструменты мониторинга и создания мониторов ключевых метрик всех машин кластера в одном окне, что упростит локализацию проблем в процессе работы.

Хосты добавляются с помощью кнопки «Новый поиск» — вы переходите на страницу добавления машин в кластер, где вас просят предоставить данные для их подключения по SSH:

Распределенное хранилище данных в концепции Data Lake: установка CDH

После добавления хостов переходим к этапу выбора способа установки.

Раз уж мы скачали парселы, то выбираем метод «Использовать парселы (рекомендуется)», и теперь нам нужно добавить наш репозиторий.

Нажмите на кнопку «Дополнительные параметры», удалите все репозитории, установленные там по умолчанию, и добавьте адрес репозитория с парселем CDH — «hostname/parcels/cdh/».

После подтверждения справа от надписи «Выбрать версию CDH» должна отобразиться версия CDH, представленная в скачанном парселе.

Для данного способа установки на этой вкладке ничего настраивать не нужно:

Распределенное хранилище данных в концепции Data Lake: установка CDH

На следующей вкладке вам будет предложено установить JDK. Поскольку мы уже сделали это на этапе предустановки, пропускаем этот шаг:

Распределенное хранилище данных в концепции Data Lake: установка CDH

При переходе на следующую вкладку начинается установка компонентов кластера на указанные хосты.

После завершения установки вы сможете перейти к следующему шагу.

Если во время установки вы столкнулись с ошибками (я столкнулся с такой ситуацией при установке локальных сред разработки), просмотреть их подробности можно с помощью команды "tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log" и нажав кнопку «Подробнее» в правой части таблицы:

Распределенное хранилище данных в концепции Data Lake: установка CDH

На следующем этапе установки вам будет предложено выбрать для установки один из подготовленных наборов сервисов.

Службы и их роли в дальнейшем можно будет настроить вручную, поэтому не очень важно, что выбирать на этой вкладке.

В нашем случае обычно устанавливался «Ядро с Импалой».

Здесь вы также можете указать, нужно ли вам устанавливать Cloudera Navigator. Если вы устанавливаете версию Enterprise, то стоит установить вот этот полезный инструмент:

Распределенное хранилище данных в концепции Data Lake: установка CDH

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

Ниже приведены некоторые рекомендации по установке ролей на хостах.



Роли HDFS

ИмяУзел — размещается в единственном экземпляре на одной из Мастер-нод, желательно наименее загруженной, так как она очень важна для работы кластера и вносит существенный вклад в утилизацию ресурсов.

Вторичноеимяузел — размещается в единственном экземпляре на одном из Мастер-нод, желательно не на том же узле, что и NameNode (для обеспечения отказоустойчивости).

Балансир — размещается в единственном экземпляре на одной из Мастер-нод. HTTPFS — дополнительный API для HDFS, его не нужно устанавливать.

NFS-шлюз — очень полезная роль, позволяет монтировать HDFS как сетевой диск.

Размещается в единственном экземпляре на одной из Мастер-нод. узел данных — размещается на всех узлах данных.



Роли улья

шлюз – Файлы конфигурации Hive. Установлен на всех хостах кластера.

Сервер Hive Metastore — сервер метаданных, установленный в единственном экземпляре на одном из Мастер-нод (например, на том, где установлен PostgreSQL — там он хранит свои данные).

WebHCat - Вам не нужно его устанавливать.

УлейСервер2 – устанавливается в единственном экземпляре на том же главном узле, что и сервер Hive Metastore (требование для их совместной работы).



Роли Хюэ

Хюэ Сервер — Графический интерфейс для HDFS, установленный в единственном экземпляре на одном из Мастер-нод. Балансировщик нагрузки — GUI-балансировщик нагрузки для HDFS, установленный в единственном экземпляре на одном из Мастер-нод.

Роли Импалы

Государственный магазин Импала – размещается в единственном экземпляре на одной из Мастер-нод. Сервер каталогов Импалы – размещается в единственном экземпляре на одной из Мастер-нод. Импала Демон – установить для всех узлов данных (можно оставить значение по умолчанию).



Роли сервисов Cloudera Manager

Service Monitor, Activity Monitor, Host Monitor, Reports Manager, Event Server, Alert Publisher устанавливаются в одном экземпляре на одном из Мастер-нод.

Роли

Oozie Server – установлен в единственном экземпляре на одной из Мастер-нод.

Роли Пряжа

РесурсМенеджер – размещается в единственном экземпляре на одной из Мастер-нод. Сервер истории заданий – размещается в единственном экземпляре на одной из Мастер-нод. Менеджер узлов – установить для всех узлов данных (можно оставить значение по умолчанию).



Роли ZooKeeper

ZooKeeper Server – для обеспечения отказоустойчивости устанавливается в трех экземплярах на мастер-нодах.



Роли Cloudera Navigator

Сервер аудита Навигатора – размещается в единственном экземпляре на одной из Мастер-нод. Сервер метаданных навигатора – размещается в единственном экземпляре на одной из Мастер-нод.

Распределенное хранилище данных в концепции Data Lake: установка CDH

Следующая вкладка после распределения ролей — это вкладка с кратким списком настроек установленных сервисов.

Их изменение будет доступно после завершения установки и на данном этапе их можно оставить без изменений:

Распределенное хранилище данных в концепции Data Lake: установка CDH

После настроек сервиса идет настройка баз данных для сервисов, которым они нужны.

Введите полное имя хоста, на котором установлен PostgreSQL, выберите соответствующий пункт в списках «Тип базы данных», а в остальных полях укажите данные для подключения к соответствующим базам данных.

После того как все данные введены, нажмите кнопку «Проверить соединение» и проверьте доступность баз данных.

Если это так, то в правой части таблицы напротив каждой из баз появится надпись «Успешно»:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Все готово к развертыванию сервисов.

Перейдем на следующую вкладку и посмотрим этот процесс.

Если мы все сделали правильно, то все шаги пройдут успешно.

В противном случае процесс будет прерван на одном из шагов и по нажатию стрелки станет доступен журнал ошибок:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Поздравляем – CDH развернут и почти готов к использованию!

Распределенное хранилище данных в концепции Data Lake: установка CDH

Можно переходить к установке дополнительных парселей.



Установка дополнительных парселей

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

В ходе нашего проекта нам понадобился сервис Spark версии 2.2 для запуска разработанных задач и работы с инструментами Data Discovery. Он не входит в состав CDH, поэтому установим его отдельно.

Для этого нажмите на кнопку «Хосты» и выберите пункт выпадающего списка «Посылки»:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Откроется вкладка с парселами, в которой отображается список кластеров, управляемых данным Cloudera Manager, и установленных на них парселей.

Чтобы добавить парсел с помощью Spark 2.2, выберите нужный кластер и нажмите кнопку «Конфигурация» в правом верхнем углу.



Распределенное хранилище данных в концепции Data Lake: установка CDH

Нажмите на кнопку «+», в появившейся строке укажите адрес репозитория с парселем Spark 2.2 («hostname/parcels/spark/») и нажмите кнопку «Сохранить изменения»:

Распределенное хранилище данных в концепции Data Lake: установка CDH

После этих манипуляций в списке парселей на предыдущей вкладке должен появиться новый с именем SPARK2. Изначально он отображается как доступный для загрузки, поэтому следующим шагом будет его загрузка, нажав кнопку «Загрузить»:

Распределенное хранилище данных в концепции Data Lake: установка CDH

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

Для этого нажмите кнопку «Распространить», которая появится в правой части строки с парселем SPARK2:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Последний шаг в работе с парселем – его активация.

Активируем его, нажав кнопку «Активировать», которая появляется в правой части строки с парселем:

Распределенное хранилище данных в концепции Data Lake: установка CDH

После подтверждения нужный нам сервис становится доступен для установки.

Но здесь есть нюансы.

Чтобы установить некоторые сервисы в кластер, помимо установки парсела необходимо выполнить некоторые дополнительные действия.

Об этом обычно пишут на официальном сайте в разделе, посвященном установке и обновлению данного сервиса (вот пример для Spark 2 — www.cloudera.com/documentation/spark2/latest/topics/spark2_installing.html ).

В этом случае вам необходимо скачать CSD-файл Spark 2 (доступен на странице «Информация о версии и упаковке» — www.cloudera.com/documentation/spark2/latest/topics/spark2_packaging.html ), установите его на хост с помощью Cloudera Manager и перезагрузите последний.

Сделаем так — скачаем этот файл, перенесем его на нужный хост и выполним команды из инструкции:

mv SPARK2_ON_YARN-2.1.0.cloudera1.jar /opt/cloudera/csd/ chown cloudera-scm:cloudera-scm /opt/cloudera/csd/SPARK2_ON_YARN-2.1.0.cloudera1.jar chmod 644 /opt/cloudera/csd/SPARK2_ON_YARN-2.1.0.cloudera1.jar systemctl restart cloudera-scm-server

Когда Cloudera Manager запустится, все будет готово для установки Spark 2. На главном экране нажмите стрелку справа от имени кластера и в раскрывающемся меню выберите пункт «Добавить сервис»:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Из списка доступных для установки сервисов выбираем нужный нам:

Распределенное хранилище данных в концепции Data Lake: установка CDH

На следующей вкладке выберите набор зависимостей для нового сервиса.

Например тот, где список шире:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Далее идет вкладка с выбором ролей и хостов, на которые они будут установлены, аналогичная той, которая была там при установке CDH. Роль History Server рекомендуется установить в единственном экземпляре на одном из Master Nodes, а Gateway — на всех серверах кластера:

Распределенное хранилище данных в концепции Data Lake: установка CDH

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

Здесь можно оставить все по умолчанию:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Подтверждение изменений запускает установку сервиса в кластере.

Если все сделано правильно, установка завершится успешно:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Поздравляем! Spark 2 успешно установлен в кластер:

Распределенное хранилище данных в концепции Data Lake: установка CDH

Для завершения процесса установки необходимо перезагрузить кластер.

После этого все готово к работе.

На этапе установки службы могут возникнуть ошибки.

Например, при установке в одной из сред не удалось развернуть роль шлюза Spark 2. В решении этой проблемы помогло копирование содержимого файла /var/lib/alternatives/spark2-conf с хоста, на котором эта роль была успешно установлена, в аналогичный файл на проблемной машине.

Для диагностики ошибок установки удобно использовать файлы журналов соответствующих процессов, которые хранятся в папке /var/run/cloudera-scm-agent/process/.

Это все на сегодня.

Следующий пост серии будет посвящен теме администрирования CDH-кластера.

Теги: #Хранение данных #Большие данные #Hadoop #администрирование #Cloudera

Вместе с данным постом часто просматривают: