Cómo instalar y configurar Cloudera Manager en CentOS / RHEL 7 - Parte 3


En este artículo, describimos el proceso paso a paso para instalar Cloudera Manager según las prácticas industriales. En la parte 2, ya hemos revisado los requisitos previos de Cloudera, asegúrese de que todos los servidores estén preparados perfectamente.

Aquí vamos a tener un clúster de 5 nodos donde 2 maestros y 3 trabajadores. He utilizado 5 instancias de AWS EC2 para demostrar el procedimiento de instalación. He nombrado a esos 5 servidores como se muestra a continuación.

master1.tecmint.com
master2.tecmint.com
worker1.tecmint.com
worker2.tecmint.com
worker3.tecmint.com

Cloudera Manager es una herramienta administrativa y de seguimiento para todo el CDH. Usualmente administramos llamándolo una herramienta de administración para Cloudera Hadoop. Podemos implementar, monitorear, controlar y realizar cambios de configuración con el uso de esta herramienta. Esto es muy esencial para administrar todo el clúster.

A continuación se muestran los usos importantes de Cloudera Manager.

Paso 1: Instalación del servidor web Apache en CentOS

Vamos a utilizar master1 como servidor web para los repositorios de Cloudera. Además, Cloudera Manager es WebUI, por lo que necesitamos tener Apache instalado. Siga los pasos a continuación para instalar el servidor web apache.

# yum -y install httpd

Una vez instalado httpd, inícielo y habilítelo para que se inicie al arrancar.

# systemctl start httpd
# systemctl enable httpd

Después de iniciar httpd, asegúrese del estado.

# systemctl status httpd

Después de iniciar httpd, abra un navegador en su sistema local y pegue la dirección IP de master1 en la barra de búsqueda, debe obtener esta página de prueba para asegurarse de que httpd esté funcionando correctamente.

Paso 2: configurar el DNS local para resolver la IP y el nombre de host

Necesitamos tener un servidor DNS o configurar/etc/hosts para resolver la IP y el nombre de host. Aquí estamos configurando/etc/hosts, pero en tiempo real, habrá un servidor DNS dedicado para el entorno de producción.

Siga los pasos a continuación para realizar una entrada para todos sus servidores en/etc/hosts.

# vi /etc/hosts

Esto debe estar configurado en todos los servidores.

13.235.27.144   master1.tecmint.com     master1
13.235.135.170  master2.tecmint.com     master2
15.206.167.94   worker1.tecmint.com     worker1
13.232.173.158  worker2.tecmint.com     worker2
65.0.182.222    worker3.tecmint.com     worker3

Paso 3: configurar el inicio de sesión sin contraseña SSH

Cloudera Manager se está instalando en master1 en esta demostración. Necesitamos configurar ssh sin contraseña desde master1 a todos los demás nodos. Porque Cloudera Manager usará ssh para comunicar a todos los demás nodos para instalar paquetes.

Siga los pasos a continuación para configurar ssh sin contraseña desde master1 a todos los servidores restantes. Vamos a tener un usuario "tecmint" para continuar.

Cree un usuario "tecmint" en los 4 servidores usando el comando useradd como se muestra.

# useradd -m tecmint

Para otorgar el privilegio de root al usuario "tecmint", agregue la siguiente línea en el archivo/etc/sudoers. Puede agregar esta línea debajo de la raíz como se muestra en la captura de pantalla.

tecmint   ALL=(ALL)    ALL

Cambie al usuario "tecmint" y cree la clave ssh en el master1 usando el siguiente comando.

# sudo su tecmint
$ ssh-keygen

Ahora copie la clave creada a los 4 servidores usando el comando ssh-copy-id como se muestra.

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

Ahora debería poder ssh desde master1 a todos los servidores restantes sin una contraseña como se muestra.

$ ssh master2
$ ssh worker1
$ ssh worker2
$ ssh worker3

Paso 4: Instalar y configurar Cloudera Manager

Podemos usar el repositorio del proveedor (Cloudera) para instalar todos los paquetes usando las herramientas de administración de paquetes en RHEL/CentOS. En tiempo real, crear nuestro propio repositorio es la mejor práctica porque es posible que no tengamos acceso a Internet en los servidores de producción.

Aquí vamos a instalar la versión 6.3.1 de Cloudera Manager. Dado que vamos a utilizar master1 como servidor de repositorios, estamos descargando los paquetes en la ruta mencionada a continuación.

Cree los directorios mencionados a continuación en el servidor master1 .

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

Podemos usar la herramienta wget para descargar paquetes a través de http. Entonces, instale wget usando el siguiente comando.

$ sudo yum -y install wget

A continuación, descargue el archivo tar de Cloudera Manager utilizando el siguiente comando wget.

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

Extraiga el archivo tar en/var/www/html/cloudera-repos/cm6, ya hemos creado master1 como servidor web instalando http y lo hemos probado en el navegador.

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

Ahora, verifique que todos los archivos rpm de Cloudera estén en el directorio/var/www/html/cloudera-repos/cm6/RPMS/x86_64.

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

Cree archivos /etc/yum.repos.d/cloudera-manager.repo en todos los servidores de los hosts del clúster con el siguiente contenido, aquí master1 (65.0.101.148) es el servidor web.

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

Ahora que se ha agregado el repositorio, ejecute el siguiente comando para ver los repositorios habilitados.

$ yum repolist

Ejecute el siguiente comando para ver todos los paquetes relacionados con Cloudera disponibles en el repositorio.

$ yum list available | grep cloudera*

Instale 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

Ejecute el siguiente comando para ver todos los paquetes de Cloudera instalados.

$ yum list installed | grep cloudera*

Ejecute el siguiente comando para iniciar cloudera-scm-server-db, que es una base de datos subyacente para almacenar Cloudera Manager y otros metadatos de servicios.

De forma predeterminada, Cloudera viene con postgre-sql que está incrustado en Cloudera Manager. Estamos instalando el integrado, en una base de datos externa en tiempo real que se puede utilizar. Puede ser Oracle, MySQL o PostgreSQL.

$ sudo systemctl start cloudera-scm-server-db

Ejecute el siguiente comando para verificar el estado de la base de datos.

$ sudo systemctl status cloudera-scm-server-db

Configure db.properties para el servidor de Cloudera Manager.

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

Configure el siguiente valor está INCORPORADO para que Cloudera Manager use la base de datos integrada.

com.cloudera.cmf.db.setupType=EMBEDDED

Ejecute el siguiente comando para iniciar el servidor de Cloudera Manager.

$ sudo systemctl start cloudera-scm-server

Ejecute el siguiente comando para verificar el estado del servidor de Cloudera Manager.

$ sudo systemctl status cloudera-scm-server

Ejecute el siguiente comando para iniciar y verificar el estado del agente de Cloudera Manager.

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

Una vez que el servidor de Cloudera Manager esté funcionando correctamente, puede ver la WebUI (página de inicio de sesión) en el navegador utilizando la dirección IP y el número de puerto 7180, que es el número de puerto de Cloudera Manager.

https://65.0.101.148:7180

En este artículo, hemos visto el proceso paso a paso para instalar Cloudera Manager en CentOS 7. Veremos el CDH y otras instalaciones de servicios en el próximo artículo.