Si no sabes que es Cloudera te recomiendo que te des un paseo por su web. Cloudera
En primer lugar vamos a realizar la instalación del so, lo haremos sin instalar ninguna de las opciones que nos ofrece durante el proceso, ni tan siquiera las herramientas de servidor. De esta manera hacemos una instalación limpia de sistema operativo y nos evitaremos problemas con el firewall o el sellinux que vendrán desactivados por defecto. Un apunte, el nombre de máquina que le he puesto ha sido localhost (esto parece una tontería pero recomiendo que se haga para evitar problemas futuros durante el proceso)
Una vez hecho esto, instalaremos ssh :
sudo apt-get install ssh
Y generaremos las claves (enter para todas las preguntas que nos vaya haciendo dejandolo todo vacío)
ssh-keygen
Ahora nos dirigimos a ~/.ssh y ejecutamos la siguiente instrucción :
cat id_rsa.pub > authorized_keys
Nos logamos como root
sudo su
y cambiamos el password (introducimos el que queramos) :
passwd
Ahora permitiremos el login mediante ssh para root, editamos el fichero :
/etc/ssh/sshd_config
Añadiendo la siguiente linea (o modificandola en caso de que ya exista) :
PermitRootLogin yes
A continuación reiniciaremos el servicio :
service ssh restart
También tenemos que desactivar ipv6, para ello editaremos el fichero /etc/sysctl.conf añadiendo las siguientes líneas :
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Ahora ya lo tenemos todo preparado para empezar la instalación, nos dirigiremos a una carpeta donde no tengamos problemas de permisos, en mi caso, siempre lo hago bajo la carpeta /tmp. Aquí descargamos el fichero :
wget http://archive.cloudera.com/cm5/installer/latest/cloudera-manager-installer.bin
Le damos permisos para poder ejecutar el archivo :
chmod +x cloudera-manager-installer.bin
Y ejecutamos : ./cloudera-manager-installer.bin
Aquí se inicia la instalación, una vez finalizado podremos acceder al manager para empezar la instalación del cluster ( en nuestro caso un solo nodo), accediendo a la ip de la máquina virtual creada y el puerto 7180, ejemplo poniendo http://192.168.236.132:7180/ en nuestro navegador. Las credenciales de acceso son admin / admin
Seleccionamos la versión libre del producto. Cuando nos pregunte si queremos instalar java le diremos que no y tampoco seleccionaremos el login unificado, haremos login con el usuario root y pondremos el password que previamente habíamos modificado.
Cuando nos pida el host introduciremos el nombre de la máquina "localhost".
Si durante este proceso, falla al detectar el latido, se debe averiguar el porque (generalmente se trata de un problema con el nombre del host y una inconsistencia en el archivo /etc/hosts, para solucionarlo se deben modificar el nombre del host en :
/etc/hostname
/etc/hosts
hostname localhost
y para volver a empezar el proceso y que no se encalle se debe borrar :
sudo rm /tmp/.scm_prepare_done.lock
Si todo ha ido bien, empezamos el proceso de despliegue, esto puede tomar algún tiempo, pero finalmente debemos ver algo así :
Ahora podemos seleccionar que vamos a instalar, en mi caso voy a seleccionar el núcleo con impala, pero si queréis probar todas las herramientas del ecosistema hadoop podéis seleccionar todos los servicios, lo que no recomiendo si no se tiene experiencia previa es realizar la instalación de manera manual :
A continuación dejaremos todos los valores de las pantallas que nos van apareciendo por defecto :
Y empezará el proceso de configuración del cluster, una vez instalados todos los paquetes ya tendremos configurado nuestro nodo :
Si durante este último proceso aparece un error relativo al inicio de Impala, se debe modificar lo siguiente :
Cloudera Manager -> impala service -> configuration -> system wide (todos los servicios) ->
-> advanced : Check en User Debug Build & Enable Core Dump
Volvemos a arrancar el servicio y ya estará solucionado
De nuevo insisto en que este proceso esta simplificado para llegar al final de manera exitosa, si se quiere realizar un proceso de instalación en un entorno mas complejo o personalizado se deben tener en cuenta otros factores que aquí se pasan por alto.
Hola Héctor, gracias por tu comentario.
ResponderEliminarEsta manera de instalar que relato en el artículo esta pensada para un entorno de pruebas y nunca para un entorno productivo, se trata de un ejemplo muy simplificado. Una de las primeras recomendaciones que te haría sería la de determinar que elementos van a ser utilizados en tu clúster, por ejemplo puede ser que no vayas a utilizar Impala o Hive o no vayas a ingestar datos con flume. En estos casos puedes eliminar estos servicios y esto te simplicara algo el despliegue. De todas maneras, Cloudera te ofrece una de las maneras mas sencillas de desplegar un clúster con Hadoop y automatiza mucho los procesos (casi descartaría el hacerlo de manera manual, porque instalar todos los elementos del ecosistema es un buen lío). Te recomiendo que sigas los pasos en :
http://www.cloudera.com/content/www/en-us/documentation/cdh/5-0-x/CDH5-Installation-Guide/CDH5-Installation-Guide.html
Aquí queda todo muy bien explicado. Si tienes alguna duda concreta estoy aquí para ayudarte.
Saludos