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 a la perfección.

  • Mejores prácticas para implementar Hadoop Server en CentOS/RHEL 7 - Parte 1
  • Configuración de requisitos previos de Hadoop y refuerzo de la seguridad: parte 2

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 lo 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.

  • Implemente y configure clústeres de Hadoop de forma automatizada.
  • Supervisar el estado del clúster
  • Configurar alertas
  • Solución de problemas
  • Informes
  • Elaboración de un informe de utilización del clúster
  • Configurar recursos de forma dinámica

Paso 1: Instalar el 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 en el arranque.

# systemctl start httpd
# systemctl enable httpd

Después de iniciar httpd, asegúrese de que el 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, debería 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 configurarse 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 master1 usando el siguiente comando.

# sudo su tecmint
$ ssh-keygen

Ahora copie la clave creada en 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: Instalación y configuración de 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 hecho 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.