Продолжаем делиться опытом организации хранилища данных, о котором мы начали рассказывать в предыдущий пост .
На этот раз мы хотим рассказать о том, как мы решили проблемы с установкой CDH.
Установка CDH
Запускаем сервер Cloudera Manager, добавляем его в автозагрузку и проверяем, что он перешел в активное состояние:После его запуска перейдите по ссылке «имя хоста:7180/», войдите в систему (admin/admin) и продолжите установку из графического интерфейса.systemctl start cloudera-scm-server systemctl enable cloudera-scm-server systemctl status cloudera-scm-server
После авторизации автоматически начнется установка и вы попадете на страницу добавления хостов в кластер:
Рекомендуется добавить все хосты, которые будут каким-либо образом связаны с развернутой средой (даже если на них не будут размещаться сервисы Cloudera).
Это могут быть машины с непрерывной интеграцией, инструменты BI или ETL или инструменты обнаружения данных.
Включение этих машин в кластер позволит установить шлюзы служб кластера (Gateways), содержащие файлы с конфигурацией и расположением служб кластера, что упростит интеграцию со сторонними программами.
Cloudera Manager также предоставляет удобные инструменты мониторинга и создания мониторов ключевых метрик всех машин кластера в одном окне, что упростит локализацию проблем в процессе работы.
Хосты добавляются с помощью кнопки «Новый поиск» — вы переходите на страницу добавления машин в кластер, где вас просят предоставить данные для их подключения по SSH:
После добавления хостов переходим к этапу выбора способа установки.
Раз уж мы скачали парселы, то выбираем метод «Использовать парселы (рекомендуется)», и теперь нам нужно добавить наш репозиторий.
Нажмите на кнопку «Дополнительные параметры», удалите все репозитории, установленные там по умолчанию, и добавьте адрес репозитория с парселем CDH — «hostname/parcels/cdh/».
После подтверждения справа от надписи «Выбрать версию CDH» должна отобразиться версия CDH, представленная в скачанном парселе.
Для данного способа установки на этой вкладке ничего настраивать не нужно:
На следующей вкладке вам будет предложено установить JDK. Поскольку мы уже сделали это на этапе предустановки, пропускаем этот шаг:
При переходе на следующую вкладку начинается установка компонентов кластера на указанные хосты.
После завершения установки вы сможете перейти к следующему шагу.
Если во время установки вы столкнулись с ошибками (я столкнулся с такой ситуацией при установке локальных сред разработки), просмотреть их подробности можно с помощью команды "tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log" и нажав кнопку «Подробнее» в правой части таблицы:
На следующем этапе установки вам будет предложено выбрать для установки один из подготовленных наборов сервисов.
Службы и их роли в дальнейшем можно будет настроить вручную, поэтому не очень важно, что выбирать на этой вкладке.
В нашем случае обычно устанавливался «Ядро с Импалой».
Здесь вы также можете указать, нужно ли вам устанавливать Cloudera Navigator. Если вы устанавливаете версию Enterprise, то стоит установить вот этот полезный инструмент:
На следующей вкладке для сервисов из выбранного набора предлагается выбрать роли и хосты, на которые они будут установлены.
Ниже приведены некоторые рекомендации по установке ролей на хостах.
Роли 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
Сервер аудита Навигатора – размещается в единственном экземпляре на одной из Мастер-нод. Сервер метаданных навигатора – размещается в единственном экземпляре на одной из Мастер-нод.Следующая вкладка после распределения ролей — это вкладка с кратким списком настроек установленных сервисов.
Их изменение будет доступно после завершения установки и на данном этапе их можно оставить без изменений:
После настроек сервиса идет настройка баз данных для сервисов, которым они нужны.
Введите полное имя хоста, на котором установлен PostgreSQL, выберите соответствующий пункт в списках «Тип базы данных», а в остальных полях укажите данные для подключения к соответствующим базам данных.
После того как все данные введены, нажмите кнопку «Проверить соединение» и проверьте доступность баз данных.
Если это так, то в правой части таблицы напротив каждой из баз появится надпись «Успешно»:
Все готово к развертыванию сервисов.
Перейдем на следующую вкладку и посмотрим этот процесс.
Если мы все сделали правильно, то все шаги пройдут успешно.
В противном случае процесс будет прерван на одном из шагов и по нажатию стрелки станет доступен журнал ошибок:
Поздравляем – CDH развернут и почти готов к использованию!
Можно переходить к установке дополнительных парселей.
Установка дополнительных парселей
В случаях, когда базового набора сервисов CHD недостаточно или требуется более свежая версия, вы можете установить дополнительные парселы, расширяющие доступный список сервисов, которые можно развернуть в кластере.В ходе нашего проекта нам понадобился сервис Spark версии 2.2 для запуска разработанных задач и работы с инструментами Data Discovery. Он не входит в состав CDH, поэтому установим его отдельно.
Для этого нажмите на кнопку «Хосты» и выберите пункт выпадающего списка «Посылки»:
Откроется вкладка с парселами, в которой отображается список кластеров, управляемых данным Cloudera Manager, и установленных на них парселей.
Чтобы добавить парсел с помощью Spark 2.2, выберите нужный кластер и нажмите кнопку «Конфигурация» в правом верхнем углу.
Нажмите на кнопку «+», в появившейся строке укажите адрес репозитория с парселем Spark 2.2 («hostname/parcels/spark/») и нажмите кнопку «Сохранить изменения»:
После этих манипуляций в списке парселей на предыдущей вкладке должен появиться новый с именем SPARK2. Изначально он отображается как доступный для загрузки, поэтому следующим шагом будет его загрузка, нажав кнопку «Загрузить»:
Скачанный парсел необходимо распределить по узлам кластера, чтобы с него можно было установить сервисы.
Для этого нажмите кнопку «Распространить», которая появится в правой части строки с парселем SPARK2:
Последний шаг в работе с парселем – его активация.
Активируем его, нажав кнопку «Активировать», которая появляется в правой части строки с парселем:
После подтверждения нужный нам сервис становится доступен для установки.
Но здесь есть нюансы.
Чтобы установить некоторые сервисы в кластер, помимо установки парсела необходимо выполнить некоторые дополнительные действия.
Об этом обычно пишут на официальном сайте в разделе, посвященном установке и обновлению данного сервиса (вот пример для 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. На главном экране нажмите стрелку справа от имени кластера и в раскрывающемся меню выберите пункт «Добавить сервис»:
Из списка доступных для установки сервисов выбираем нужный нам:
На следующей вкладке выберите набор зависимостей для нового сервиса.
Например тот, где список шире:
Далее идет вкладка с выбором ролей и хостов, на которые они будут установлены, аналогичная той, которая была там при установке CDH. Роль History Server рекомендуется установить в единственном экземпляре на одном из Master Nodes, а Gateway — на всех серверах кластера:
После выбора ролей вам будет предложено просмотреть и подтвердить изменения, внесенные в кластер во время установки службы.
Здесь можно оставить все по умолчанию:
Подтверждение изменений запускает установку сервиса в кластере.
Если все сделано правильно, установка завершится успешно:
Поздравляем! Spark 2 успешно установлен в кластер:
Для завершения процесса установки необходимо перезагрузить кластер.
После этого все готово к работе.
На этапе установки службы могут возникнуть ошибки.
Например, при установке в одной из сред не удалось развернуть роль шлюза Spark 2. В решении этой проблемы помогло копирование содержимого файла /var/lib/alternatives/spark2-conf с хоста, на котором эта роль была успешно установлена, в аналогичный файл на проблемной машине.
Для диагностики ошибок установки удобно использовать файлы журналов соответствующих процессов, которые хранятся в папке /var/run/cloudera-scm-agent/process/.
Это все на сегодня.
Следующий пост серии будет посвящен теме администрирования CDH-кластера.
Теги: #Хранение данных #Большие данные #Hadoop #администрирование #Cloudera
-
Дискурс
19 Oct, 24 -
Планшеты Android, Дешевый Планшетный Пк
19 Oct, 24 -
Умная Комната, Которая Помогает Вам Работать
19 Oct, 24 -
Редис 2.0
19 Oct, 24 -
Кейс: Wiki На Htc America
19 Oct, 24