Instale Hadoop Multinode Cluster usando CDH4 en RHEL/CentOS 6.5

Instale Hadoop Multinode Cluster usando CDH4 en RHEL/CentOS 6.5

Hadoop. es un marco de programación de código abierto desarrollado por Apache para procesar big data. Utiliza HDFS. ( Sistema de archivos distribuido Hadoop. para almacenar los datos en todos los nodos de datos del clúster de manera distributiva y el modelo mapreduce para procesar los datos.

 Instalar Hadoop Multinode Cluster en CentOS  Instalar Hadoop Multinode Cluster en CentOS Instalar Hadoop Multinode Cluster

Namenode. ( NN. es un demonio maestro que controla HDFS. y Jobtracker. ( JT. es un demonio maestro para el motor mapreduce.

Requisitos

En este tutorial estoy usando dos VM de CentOS 6.3. ‘ maestro. y ‘ nodo. a saber. (maestro y nodo son mis nombres de host). La IP “maestra” es 172.21.17.175. y la IP del nodo es “ 172.21.17.188. . Las siguientes instrucciones también funcionan en las versiones RHEL. CentOS 6.x.

En Master [[email protected] ~] # hostname master [[email protected] ~] # ifconfig | grep ‘inet addr’ | head-1 inet addr: 172.21.17.175 Bcast: 172.21.19.255 Máscara: 255.255.252.0 En el nodo [[email protected] ~] # nombre de host nodo [[correo electrónico protegido] ~] # ifconfig | grep ‘inet addr’ | head-1 inet addr: 172.21.17.188 Bcast: 172.21.19.255 Máscara : 255.255.252.0

Primero, asegúrese de que todos los hosts del clúster estén en el archivo ‘/etc/hosts. (en cada nodo), si no tiene DNS configurado.

En el maestro [[correo electrónico protegido] ~] # cat/etc/hosts 172.21.17.175 maestro 172.21.17.188 nodo En el nodo [[correo electrónico protegido] ~] # cat/etc/hosts 172.21.17.197 qabox 172.21.17.176 ansible-ground

Instalando Hadoop Multinode Cluster en CentOS

Usamos el repositorio oficial CDH. para instalar CDH4. en todos los hosts (Master y Node) en un cl uster.

Paso 1: Descargue Instale el repositorio CDH freestar.config.enabled_slots.push

Vaya a la página oficial de descarga de CDH y obtenga el CDH4 ( es decir 4.6. o puede utilizar el siguiente comando wget. para descargar el repositorio e instalarlo.

En RHEL/CentOS de 32 bits # wget http://archive .cloudera.com/cdh4/one-click-install/redhat/6/i386/cloudera-cdh-4-0.i386.rpm # yum–nogpgcheck localinstall cloudera-cdh-4-0.i386.rpm En RHEL/CentOS 64-bit # wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm # yum–nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm

Antes de instalar Hadoop Multinode Cluster, agregue la clave pública GPG de Cloudera a su repositorio ejecutando uno de los siguientes comandos de acuerdo con la arquitectura de su sistema.

## en 32-bit System. ## # rpm–import http://archive.cloudera.com/cdh4/redhat/6/i386/cdh/RPM-GPG-KEY-cloudera ## en 64 bits Sistema. ## # rpm–import http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera Paso 2: Configurar JobTracker y NameNode

Siguiente, ejecuta lo siguiente g para instalar y configurar JobTracker y NameNode en el servidor maestro.

[[email protected] ~] # yum clean all [[email protected] ~] # yum install hadoop-0.20-mapreduce-jobtracker [[email protected] ~] # yum clean all [[email protected] ~] # yum install hadoop-hdfs-namenode Paso 3: Configurar el nodo de nombre secundario

De nuevo, ejecute los siguientes comandos en el servidor maestro para configurar el nodo de nombre secundario.

[[email protected] ~] # yum clean all [[email protected] ~] # yum install hadoop-hdfs-secondarynam Paso 4: Configurar Tasktracker y Datanode

A continuación, configure tasktracker y datanode en todos los hosts del clúster (Node) excepto los hosts JobTracker, NameNode y Secondary (o Standby) NameNode (en el nodo en este caso).

[[email protected] ~] # yum clean all [[email protected] ~] # yum install hadoop-0.20-mapreduce-tasktracker hadoop-hdfs-datanode Paso 5: Configurar el cliente Hadoop

Puede instalar Hadoop cliente en una máquina separada (en este caso lo he instalado en datanode, puede instalarlo en cualquier máquina).

[[email protected] ~] # yum install hadoop-client Paso 6: Implementar HDFS en nodos

Ahora, si hemos terminado con los pasos anteriores, avancemos para implementar hdfs (que se hará en todos los nodos).

Copie la configuración predeterminada en el directorio /etc/hadoop ( en cada nodo del clúster).

[[email protected] ~] # cp-r/etc/hadoop/conf.dist/etc/hadoop/conf.my_cluster [[email protected] ~] # cp-r/etc/hadoop/conf.dist/etc/hadoop/conf.my_cluster

Utilice el comando alternativas. para configurar su directorio personalizado, de la siguiente manera (en cada nodo del clúster).

[[ protegido por correo electrónico] ~] # alternativas–verbose–install/etc/hadoop/conf hadoop-conf/etc/hadoop/conf.my_cluster 50 lectura/var/lib/alternativas/hadoop-conf [[correo electrónico protegido] ~] # alternativas–set hadoop-conf/etc/hadoop/conf.my_cluster [[correo electrónico protegido] ~] # alternativas–verbose–install/etc/hadoop/conf hadoop-conf/etc/hadoop/conf.my_cluster 50 lectura/var/lib/alternativas/hadoop-conf [[email protected] ~] # alternativas–set hadoop-conf/etc/hadoop/conf.my_cluster Paso 7: Personalización de la configuración Archivos

Ahora abra el archivo ‘ core-site.xml. y actualice “ fs.defaultFS. en cada nodo del clúster.

[[email protected] conf] # cat/etc/hadoop/conf/core-site.xml fs.defaultFS hdfs://master/ [[email protected] conf] # cat/etc/hadoop/conf/core-site.xml fs.defaultFS hdfs://master/

Siguiente actualización “ dfs.permissions.superusergroup. en hdfs-site.xml. en cada nodo del clúster.

[[email protected] conf] # cat/etc/hadoop/conf/hdfs-site.xml dfs.name.dir /var/lib/hadoop-hdfs/cache/hdfs/dfs/name dfs.permissions.superusergroup hadoop [ [email protected] conf] # cat/etc/hadoop/conf/hdfs-site.xml dfs.name.dir /var/lib/hadoop-hdfs/cache/hdfs/dfs/name dfs.permissions.superusergroup hadoop

Nota. asegúrese de que la configuración anterior esté presente en todos los nodos (hágalo en un nodo y ejecute scp. para copiar en el resto de los nodos).

Paso 8: Configuración de directorios de almacenamiento local

Actualice “dfs.name.dir o dfs.namenode.name.dir” en ‘hdfs-site.xml’ en NameNode (en Master y Node). Cambie el valor resaltado.

[[email protected] conf] # cat/etc/hadoop/conf/hdfs-site.xml dfs.namenode.name.dir file:///data/1/dfs/nn,/nfsmount/dfs/nn [[email protected] conf] # cat/etc/hadoop/conf/hdfs-site.xml dfs.datanode.data.dir file:///data/1/dfs/dn,/data/2/dfs/dn,/data/3/dfs/dn Paso 9: Cree directorios y administre permisos

Ejecute los siguientes comandos para crear una estructura de directorio y administrar los permisos de usuario en la máquina Namenode (Master) y Datanode (Node).

[[correo electrónico protegido]] # mkdir-p/data/1/dfs/nn/nfsmount/dfs/nn [[correo electrónico protegido]] # chmod 700/data/1/dfs/nn/nfsmount/dfs/nn [[protegido por correo electrónico]] # mkdir-p/data/1/dfs/dn/data/2/dfs/dn/data/3/dfs/dn/data/4/dfs/dn [[protegido por correo electrónico]] # chown-R hdfs: hdfs/data/1/dfs/nn/nfsmount/dfs/nn/data/1/dfs/dn/data/2/dfs/dn/data/3/dfs/dn/data/4/dfs/dn

Formatee el Namenode (en el maestro), emitiendo el siguiente comando.

[[email protected] conf] # sudo-u hdfs hdfs namenode-format Paso 10: Configuración del NameNode secundario

Agregue el siguiente propiedad al archivo hdfs-site.xml. y reemplace el valor como se muestra en Master.

dfs.namenode.http-address 172.21.17.175:50070 La dirección y el puerto en el que escuchará la IU de NameNode.

Nota. En nuestro caso, el valor debe ser la dirección IP de la VM maestra.

Ahora implementemos MRv1 (Map-reduce versión 1). Abra el archivo ‘ mapred-site.xml. siguiendo los valores que se muestran.

[[email protected] conf] # cp hdfs-site.xml mapred-site.xml [[email protected] conf ] # vi mapred-site.xml [[email protected] conf] # cat mapred-site.xml mapred.job.tracker master: 8021

Siguiente, copie el archivo ‘ mapred-site.xml. a la máquina del nodo usando el siguiente comando scp.

[[email protected] conf] # scp/etc/hadoop/conf/mapred-site. xml nodo:/etc/hadoop/conf/mapred-site.xml 100% 200 0.2KB/s 00:00

Ahora configure los directorios de almacenamiento local para que los usen los demonios MRv1. Vuelva a abrir el archivo ‘ mapred-site.xml. y realice los cambios que se muestran a continuación para cada TaskTracker.

 mapred.local.dir  /data/1/mapred/local,/data/2/mapred/local,/data/3/mapred/local

Después de especificar estos directorios en el ‘ mapred-site.xml. ‘, debe crear los directorios y asignarles los permisos de archivo correctos en cada nodo de su clúster.

mkdir-p/data/1/mapred/local/data/2/mapeado/local/datos/3/mapeado/local/datos/4/mapeado/local chown-R mapeado: hadoop/datos/1/mapeado/local/datos/2/mapeado/local/datos/3/mapeado/local/data/4/mapred/local Paso 10: Inicie HDFS

Ahora ejecute el siguiente comando para iniciar HDFS en cada nodo del clúster.

[[email protected] conf] # para x en `cd/etc/init.d; ls hadoop-hdfs-* `; hacer sudo service $ x start; hecho [[email protected] conf] # for x in `cd/etc/init.d; ls hadoop-hdfs-* `; hacer sudo service $ x start; done Paso 11: Cree los directorios HDFS/tmp y MapReduce/var

Es necesario crear /tmp. con los permisos adecuados exactamente como se menciona a continuación.

[[email protected] conf] # sudo-u hdfs hadoop fs-mkdir/tmp [[email protected] conf] # sudo-u hdfs hadoop fs-chmod-R 1777/tmp [[email protected] conf] # sudo-u hdfs hadoop fs-mkdir-p/var/lib/hadoop-hdfs/cache/mapred/mapred/staging [[email protected] conf] # sudo-u hdfs hadoop fs-chmod 1777/var/lib/hadoop-hdfs/cache/mapred/mapred/staging [[ email protected] conf] # sudo-u hdfs hadoop fs-chown-R mapred/var/lib/hadoop-hdfs/cache/mapred

Ahora verifique la estructura del archivo HDFS.

[[email protected] conf] # sudo-u hdfs hadoop fs-ls-R/drwxrwxrwt-hdfs hadoop 0 2014-05-29 09:58/tmp drwxr-xr-x-hdfs hadoop 0 2014-05-29 09:59/var drwxr-xr-x-hdfs hadoop 0 2014-05-29 09:59/var/lib drwxr-xr-x-hdfs hadoop 0 2014-05-29 09:59/var/lib/hadoop-hdfs drwxr-x rx-hdfs hadoop 0 2014-05-29 09:59/var/lib/hadoop-hdfs/cache drwxr-xr-x-hadoop mapeado 0 2014-05-29 09:59/var/lib/hadoop-hdfs/cache/mapeado drwxr-xr-x-mapeado hadoop 0 2014-05-29 09:59/var/lib/hadoop-hdfs/cache/mapeado/mapeado drwxrwxrwt-mapeado hadoop 0 2014-05-29 09:59/var/lib/hadoop-hdfs/cache/mapred/mapred/staging

Después de iniciar HDFS y crear ‘/tmp. , pero antes de iniciar JobTracker, cree el directorio HDFS especificado por ‘mapred. parámetro system.dir ‘(por defecto $ hadoop.tmp.dir/mapred/system y cambiar propietario a mapred.

[[email protected] conf] # sudo-u hdfs hadoop fs-mkdir/tmp/mapred/system [[email protected] conf] # sudo-u hdfs hadoop fs-chown mapred: hadoop/tmp/mapred/system Paso 12: Iniciar MapReduce

Para iniciar MapReduce: inicie los servicios TT y JT.

En cada sistema TaskTracker [[email protected] conf] # service hadoop-0.20-mapreduce-tasktracker start Iniciando Tasktracker: [ OK] iniciando TaskTracker, iniciando sesión en/var/log/hadoop-0.20-mapreduce/hadoop-hadoop-tasktracker-node.out En el sistema JobTracker [[email protected] conf] # service hadoop-0.20-mapreduce-jobtracker start Iniciando Jobtracker : [OK] iniciando jobtracker, iniciando sesión en/var/log/hadoop-0.20-mapreduce/hadoop-hadoop-jobtracker-master.out

A continuación, cree un directorio de inicio para cada usuario de hadoop. se recomienda que haga esto en NameNode; por ejemplo.

[[email protected] conf] # sudo-u hdfs hadoop fs-mkdirÂ/user/ [[email protected] conf] # sudo-u hdfs hadoop fs-chown /user/

Nota. donde es el nombre de usuario de Linux de cada usuario.

Alternativamente, puede crear el directorio de inicio de la siguiente manera.

[[email protected] conf] # sudo-u hdfs hadoop fs-mkdir/user/$ USER [[email protected] conf] # sudo-u hdfs hadoop fs-chown $ USER/user/$ USER Paso 13: Abra JT, NN UI desde el navegador

Abra su navegador y escriba la URL como http://ip_address_of_namenode: 50070. para acceder a Namenode.

 Hadoop NameNode Interface  Hadoop NameNode Interface Interfaz Hadoop NameNode

Abra otra pestaña en su navegador y escriba la URL como http://ip_address_of_jobtracker: 50030. para acceder a JobTracker.

Mapa de Hadoop/Reducir administración Mapa de Hadoop/Administración reducida Hadoop Map/Reduce Administration

Este procedimiento se ha probado con éxito en RHEL/CentOS 5.X/6.X. Comente a continuación si tiene algún problema con la instalación, lo ayudaré con las soluciones.