Table of Contents
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
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-groundInstalando 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 xml version = "1.0"?> xml-stylesheet type = "text/xsl" href = "configuration.xsl"?>
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 xml version = "1.0"?> xml-stylesheet type = "text/xsl" href = "configuration.xsl"?>
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
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.
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 xml version = "1.0"?> xml-stylesheet type = "text/xsl" href = "configuration.xsl "?>
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.
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/
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.
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.
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.