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 repasado los requisitos previos de Cloudera, asegúrese de que todos los servidores estén perfectamente preparados.
Requisitos
- Mejores prácticas para implementar Hadoop Server en CentOS/RHEL 7 – Parte 1
- Configuración de requisitos previos de Hadoop y refuerzo de 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 esos 5 servidores como se muestra a continuación.
master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net
Cloudera Manager es una herramienta de administración y seguimiento de todo el CDH. Los administradores normalmente lo llamamos 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 gestionar todo el clúster.
A continuación se detallan 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 dinámicamente
Paso 1: instalar el servidor web Apache en CentOS
Usaremos 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; debería obtener esta página de prueba para asegurarse de que httpd esté funcionando bien.
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 IP y 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 se debe configurar en todos los servidores.
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
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
para todos los demás nodos. Porque Cloudera Manager utilizará ssh para comunicar a todos los demás nodos la instalación de paquetes.
Siga los pasos a continuación para configurar ssh sin contraseña desde master1
a todos los servidores restantes. Tendremos 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 privilegios de root al usuario 'tecmint', agregue la siguiente línea al 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 una 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
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
Ahora debería poder realizar ssh desde master1
para permanecer en todos los servidores sin contraseña, como se muestra.
ssh master2
ssh worker1
ssh worker2
ssh worker3
Paso 4: Instalar y configurar Cloudera Manager
Podemos utilizar el repositorio del proveedor (Cloudera) para instalar todos los paquetes utilizando las herramientas de gestió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 Cloudera Manager 6.3.1. Como vamos a utilizar master1
como servidor de repositorio, descargaremos los paquetes en la ruta que se menciona 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 incluye postgre-sql que está integrado 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 Cloudera Manager.
vi /etc/cloudera-scm-server/db.properties
Configure el siguiente valor como EMBEDDED para que Cloudera Manager utilice la base de datos integrada.
com.cloudera.cmf.db.setupType=EMBEDDED
Ejecute el siguiente comando para iniciar el servidor Cloudera Manager.
sudo systemctl start cloudera-scm-server
Ejecute el siguiente comando para verificar el estado del servidor Cloudera Manager.
sudo systemctl status cloudera-scm-server
Ejecute el siguiente comando para iniciar y verificar el estado del agente Cloudera Manager.
sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent
Una vez que el Cloudera Manager Server esté funcionando correctamente, podrá 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 Administrador de Cloudera.
https://65.0.101.148:7180
Resumen
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 siguiente artículo.