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 revisamos los requisitos previos de Cloudera, asegúrese de que todos los servidores estén preparados a la perfección.
Aquí vamos a tener un clúster de 5 nodos donde 2 maestros y 3 trabajadores. He usado 5 AWS EC2 instancias 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
Administrador de Cloudera es una herramienta administrativa y de seguimiento para todo el CDH . Los administradores generalmente lo llamamos 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
- Resolución de problemas
- Informes
- Hacer un informe de uso del clúster
- Configuración dinámica de recursos
Paso 1:Instalación del servidor web Apache en CentOS
Vamos a utilizar el master1
como servidor web para los repositorios de Cloudera. Además, Cloudera Manager es WebUI, por lo que debemos 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 actívelo 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 funciona bien.
Paso 2:Configure 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 crear 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
Administrador de Cloudera se está instalando en master1
en esta demostración. Necesitamos configurar ssh sin contraseña desde master1
a todos los demás nodos. Porque el Administrador de Cloudera utilizará ssh para comunicarse con 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.
Crear un usuario 'tecmint ‘ los 4 servidores usando el comando useradd como se muestra.
# useradd -m tecmint
Para dar el privilegio de root al usuario 'tecmint ', agregue la siguiente línea en /etc/sudoers expediente. Puede agregar esta línea debajo de la raíz como se muestra en la captura de pantalla.
tecmint ALL=(ALL) ALL
Cambiar al usuario 'tecmint ‘ y crea la clave ssh en el master1
usando el siguiente comando.
# sudo su tecmint $ ssh-keygen
Ahora copie la clave creada en los 4 servidores usando ssh-copy-id comando 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ías poder hacer ssh desde master1
a permanecer todos los servidores sin 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 proveedor (Cloudera ) para instalar todos los paquetes usando las herramientas de administración de paquetes en RHEL/CentOS. En tiempo real, la mejor práctica es crear nuestro propio repositorio porque es posible que no tengamos acceso a Internet en los servidores de producción.
Aquí vamos a instalar Cloudera Manager 6.3.1 liberación. Ya que vamos a usar master1
como servidor de repositorio, estamos descargando los paquetes en la ruta mencionada a continuación.
Cree los directorios mencionados a continuación en master1
servidor.
$ sudo mkdir -p /var/www/html/cloudera-repos/cm6
Podemos usar la herramienta wget para descargar paquetes a través de http. Entonces, instala wget usando el siguiente comando.
$ sudo yum -y install wget
A continuación, descargue el archivo tar de Cloudera Manager con 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 /var/www/html/cloudera-repos/cm6/RPMS/x86_64 directorio.
$ cd /var/www/html/cloudera-repos/cm6 $ ll
Crear /etc/yum.repos.d/cloudera-manager.repo archivos en todos los servidores en 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 se le ocurre postgre-sql que está integrado en el Cloudera Manager . Estamos instalando el integrado, en una base de datos externa en tiempo real que se puede utilizar. Puede ser Oracle ,
$ sudo systemctl start cloudera-scm-server-db
Ejecute el siguiente comando para comprobar el estado de la base de datos.
$ sudo systemctl status cloudera-scm-server-db
Configure las db.properties para el Administrador de Cloudera servidor.
$ vi /etc/cloudera-scm-server/db.properties
Configure el siguiente valor como EMBEDDED para hacer Cloudera Manager use 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 Administrador de Cloudera servidor.
$ sudo systemctl status cloudera-scm-server
Ejecute el siguiente comando para iniciar y comprobar el estado de Cloudera Manager agente.
$ sudo systemctl start cloudera-scm-agent $ sudo systemctl status cloudera-scm-agent
Una vez que el Cloudera Manager Server funciona correctamente, puede ver la WebUI (página de inicio de sesión) en el navegador usando la dirección IP y el número de puerto 7180 cuál es el número de puerto de Cloudera Manager .
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 las instalaciones de CDH y otros servicios en el próximo artículo.