Поиск по сайту:

Как установить и настроить Cloudera Manager на CentOS/RHEL 7 — часть 3


В этой статье мы описали пошаговый процесс установки Cloudera Manager в соответствии с отраслевой практикой. В части 2 мы уже рассмотрели предварительные условия Cloudera. Убедитесь, что все серверы идеально подготовлены.

Требования

  • Лучшие практики по развертыванию сервера Hadoop на CentOS/RHEL 7 — часть 1
  • Настройка необходимых условий Hadoop и усиление безопасности – часть 2

Здесь у нас будет кластер из 5 узлов, где 2 мастера и 3 рабочих. Для демонстрации процедуры установки я использовал 5 экземпляров AWS EC2. Я назвал эти 5 серверов, как показано ниже.

master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net

Cloudera Manager — это инструмент администрирования и мониторинга для всей CDH. Мы, администраторы, обычно называем это инструментом управления для Cloudera Hadoop. С помощью этого инструмента мы можем развертывать, отслеживать, контролировать и вносить изменения в конфигурацию. Это очень важно для управления всем кластером.

Ниже приведены важные варианты использования Cloudera Manager.

  • Автоматическое развертывание и настройка кластеров Hadoop.
  • Мониторинг состояния кластера
  • Настройка оповещений
  • Поиск неисправностей
  • Составление отчетов
  • Создание отчета об использовании кластера
  • Динамическая настройка ресурсов

Шаг 1. Установка веб-сервера Apache на CentOS

Мы собираемся использовать master1 в качестве веб-сервера для репозиториев Cloudera. Кроме того, Cloudera Manager использует веб-интерфейс, поэтому нам необходимо установить Apache. Выполните следующие шаги, чтобы установить веб-сервер Apache.

yum -y install httpd

После установки httpd запустите его и включите, чтобы он запускался при загрузке.

systemctl start httpd
systemctl enable httpd

После запуска httpd проверьте статус.

systemctl status httpd

После запуска httpd откройте браузер в своей локальной системе и вставьте IP-адрес master1 в строку поиска. Вы должны получить эту тестовую страницу, чтобы убедиться, что httpd работает нормально.

Шаг 2. Настройте локальный DNS для разрешения IP и имени хоста

Нам нужно иметь DNS-сервер или настроить /etc/hosts для разрешения IP и имени хоста. Здесь мы настраиваем /etc/hosts, но в реальном времени для производственной среды будет выделен выделенный DNS-сервер.

Выполните следующие шаги, чтобы внести записи обо всех ваших серверах в /etc/hosts.

vi /etc/hosts

Это должно быть настроено на всех серверах.

13.235.27.144   master1.linux-console.net     master1
13.235.135.170  master2.linux-console.net     master2
15.206.167.94   worker1.linux-console.net     worker1
13.232.173.158  worker2.linux-console.net     worker2
65.0.182.222    worker3.linux-console.net     worker3

Шаг 3. Настройте вход без пароля по SSH

В этой демонстрации Cloudera Manager устанавливается на master1. Нам нужно настроить SSH без пароля от master1 ко всем остальным узлам. Потому что Cloudera Manager будет использовать ssh для связи со всеми другими узлами для установки пакетов.

Выполните следующие шаги, чтобы настроить SSH без пароля от master1 на всех остальных серверах. У нас будет пользователь «tecmint», чтобы продолжить.

Создайте пользователя «tecmint» на всех 4 серверах, используя команду useradd, как показано.

useradd -m tecmint

Чтобы предоставить права root пользователю «tecmint», добавьте следующую строку в файл /etc/sudoers. Вы можете добавить эту строку под root, как показано на скриншоте.

tecmint   ALL=(ALL)    ALL

Переключитесь на пользователя «tecmint» и создайте ключ ssh в master1, используя команду ниже.

sudo su tecmint
ssh-keygen

Теперь скопируйте созданный ключ на все 4 сервера, используя команду ssh-copy-id, как показано.

ssh-copy-id -i ~/.ssh/id_rsa.pub [email 
ssh-copy-id -i ~/.ssh/id_rsa.pub [email 
ssh-copy-id -i ~/.ssh/id_rsa.pub [email  
ssh-copy-id -i ~/.ssh/id_rsa.pub [email 

Теперь вы сможете подключиться по ssh от master1 ко всем остальным серверам без пароля, как показано.

ssh master2
ssh worker1
ssh worker2
ssh worker3

Шаг 4. Установка и настройка Cloudera Manager

Мы можем использовать репозиторий vendor (Cloudera) для установки всех пакетов с помощью инструментов управления пакетами в RHEL/CentOS. В режиме реального времени лучше всего создать собственный репозиторий, поскольку на производственных серверах у нас может не быть доступа в Интернет.

Здесь мы собираемся установить версию Cloudera Manager 6.3.1. Поскольку мы собираемся использовать master1 в качестве сервера репо, мы загружаем пакеты по указанному ниже пути.

Создайте указанные ниже каталоги на сервере master1.

sudo mkdir -p /var/www/html/cloudera-repos/cm6

Мы можем использовать инструмент wget для загрузки пакетов по http. Итак, установите wget, используя команду ниже.

sudo yum -y install wget

Затем загрузите tar-файл Cloudera Manager, используя следующую команду wget.

wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz

Извлеките файл tar в /var/www/html/cloudera-repos/cm6. Мы уже сделали master1 веб-сервером, установив http и мы протестировали в браузере.

sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1

Теперь убедитесь, что все RPM-файлы Cloudera находятся в каталоге /var/www/html/cloudera-repos/cm6/RPMS/x86_64.

cd /var/www/html/cloudera-repos/cm6
ll

Создайте файлы /etc/yum.repos.d/cloudera-manager.repo на всех серверах узлов кластера со следующим содержимым, здесь master1 (65.0.101.148) веб-сервер.

[cloudera-repo]
name=cloudera-manager
baseurl=http:///cloudera-repos/cm6/
enabled=1
gpgcheck=0

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

yum repolist

Запустите приведенную ниже команду, чтобы просмотреть все доступные пакеты, связанные с Cloudera, в репозитории.

yum list available | grep cloudera*

Установите cloudera-manager-server, cloudera-manager-agent, cloudera-manager-daemons cloudera-manager-server-db-2.

sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server cloudera-manager-server-db-2

Запустите команду ниже, чтобы просмотреть все установленные пакеты Cloudera.

yum list installed | grep cloudera*

Выполните приведенную ниже команду, чтобы запустить cloudera-scm-server-db, которая является базовой базой данных для хранения метаданных Cloudera Manager и других служб.

По умолчанию Cloudera использует postgre-sql, встроенный в Cloudera Manager. Мы устанавливаем встроенный во внешнюю базу данных, работающую в режиме реального времени, которую можно использовать. Это может быть Oracle, MySQL или PostgreSQL.

sudo systemctl start cloudera-scm-server-db

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

sudo systemctl status cloudera-scm-server-db

Настройте db.properties для сервера Cloudera Manager.

vi /etc/cloudera-scm-server/db.properties

Настройте приведенное ниже значение EMBEDDED, чтобы Cloudera Manager использовал Встроенную базу данных.

com.cloudera.cmf.db.setupType=EMBEDDED

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

sudo systemctl start cloudera-scm-server

Выполните приведенную ниже команду, чтобы проверить состояние сервера Cloudera Manager.

sudo systemctl status cloudera-scm-server

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

sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent

После того как Сервер Cloudera Manager успешно заработает и заработает нормально, вы сможете просматривать веб-интерфейс (страницу входа) в браузере, используя IP-адрес и номер порта 7180, который является номером порта Менеджер Cloudera.

https://65.0.101.148:7180

Краткое содержание

В этой статье мы рассмотрели пошаговый процесс установки Cloudera Manager на CentOS 7. Мы увидим установку CDH и других служб в следующей статье.