Как установить и настроить 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 и других служб в следующей статье.