GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar Hadoop Multi-Node Cluster en Ubuntu

En este tutorial, aprenderemos a configurar un clúster Hadoop de varios nodos en Ubuntu 16.04. Un clúster de Hadoop que tiene más de 1 nodo de datos es un clúster de Hadoop de múltiples nodos, por lo tanto, el objetivo de este tutorial es poner en funcionamiento 2 nodos de datos.

1) Requisitos previos

  • Ubuntu 16.04
  • Hadoop-2.7.3
  • Java 7
  • SSH

Para este tutorial, tengo dos ubuntu 16.04 sistemas, los llamo maestro y esclavo sistema, se ejecutará un nodo de datos en cada sistema.

Dirección IP de Maestro -> 192.168.1.37

Dirección IP de Esclavo -> 192.168.1.38

Sobre el Maestro

Edite el archivo de hosts con la dirección IP maestra y esclava.

sudo gedit /etc/hosts

Edite el archivo como se muestra a continuación, puede eliminar otras líneas del archivo. Después de editar, guarde el archivo y ciérrelo.

En Esclavo

Edite el archivo de hosts con la dirección IP maestra y esclava.

sudo gedit /etc/hosts

Edite el archivo como se muestra a continuación, puede eliminar otras líneas del archivo. Después de editar, guarde el archivo y ciérrelo.

2) Instalación de Java

Antes de configurar Hadoop, debe tener Java instalado en sus sistemas. Instale JDK 7 abierto en ambas máquinas ubuntu usando los siguientes comandos.

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
do apt-get install openjdk-7-jdk

Ejecute el siguiente comando para ver si Java se instaló en su sistema.

java -version

Por defecto, java se almacena en /usr/lib/jvm/ directorio.

ls /usr/lib/jvm

Establezca la ruta de Java en .bashrc archivo.

sudo gedit .bashrc

exportar JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

exportar RUTA=$RUTA:/usr/lib/jvm/java-7-openjdk-amd64/bin

Ejecute el siguiente comando para actualizar los cambios realizados en el archivo .bashrc.

source .bashrc

3) SSH

Hadoop requiere acceso SSH para administrar sus nodos, por lo tanto, debemos instalar ssh en los sistemas maestro y esclavo.

sudo apt-get install openssh-server</pre


Now, we have to generate an SSH key on master machine. When it asks you to enter a file name to save the key, do not give any name, just press enter.
ssh-keygen -t rsa -P ""

En segundo lugar, debe habilitar el acceso SSH a su máquina maestra con esta clave recién creada.

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

Ahora pruebe la configuración de SSH conectándose a su máquina local.

ssh localhost

Ahora ejecute el siguiente comando para enviar la clave pública generada en el maestro al esclavo.

ssh-copy-id -i $HOME/.ssh/id_rsa.pub ubuntu@slave

Ahora que tanto el maestro como el esclavo tienen la clave pública, también puede conectar maestro a maestro y maestro a esclavo.

ssh master
ssh slave

Sobre el Maestro

Edite el archivo maestro como se muestra a continuación.

sudo gedit hadoop-2.7.3/etc/hadoop/masters

Edite el archivo de esclavos como se muestra a continuación.

sudo gedit hadoop-2.7.3/etc/hadoop/slaves

En Esclavo

Edite el archivo maestro como se muestra a continuación.

sudo gedit hadoop-2.7.3/etc/hadoop/masters

4) Instalación de Hadoop

Ahora que tenemos nuestra configuración de java y ssh lista. Estamos listos para instalar Hadoop en ambos sistemas. Utilice el siguiente enlace para descargar el paquete Hadoop. Estoy usando la última versión estable hadoop 2.7.3

http://hadoop.apache.org/releases.html

Sobre el Maestro

El siguiente comando descargará hadoop-2.7.3 archivo tar.

wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz
ls

Descomprimir el archivo

tar -xvf hadoop-2.7.3.tar.gz
ls

Confirme que hadoop se ha instalado en su sistema.

cd hadoop-2.7.3/
bin/hadoop-2.7.3/

Antes de establecer configuraciones para hadoop, estableceremos las siguientes variables de entorno en el archivo .bashrc.

cd
sudo gedit .bashrc

Variables de entorno de Hadoop

# Set Hadoop-related environment variables 

 

export HADOOP_HOME=$HOME/hadoop-2.7.3

export HADOOP_CONF_DIR=$HOME/hadoop-2.7.3/etc/hadoop

export HADOOP_MAPRED_HOME=$HOME/hadoop-2.7.3 

export HADOOP_COMMON_HOME=$HOME/hadoop-2.7.3 

export HADOOP_HDFS_HOME=$HOME/hadoop-2.7.3

export YARN_HOME=$HOME/hadoop-2.7.3

# Add Hadoop bin/ directory to PATH 

export PATH=$PATH:$HOME/hadoop-2.7.3/bin

Coloque las líneas debajo al final de su .bashrc archivo, guárdelo y ciérrelo.

source .bashrc

Configurar JAVA_HOME en ‘hadoop-env.sh’ . Este archivo especifica las variables de entorno que afectan al JDK utilizado por los demonios de Apache Hadoop 2.7.3 iniciados por los scripts de inicio de Hadoop:

cd hadoop-2.7.3/etc/hadoop/
sudo gedit hadoop-env.sh

exportar JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

Configure la ruta de java como se muestra arriba, guarde el archivo y ciérrelo.

Ahora crearemos NameNode y Nodo de datos directorios.

cd

mkdir -p $HADOOP_HOME/hadoop2_data/hdfs/namenode

mkdir -p $HADOOP_HOME/hadoop2_data/hdfs/datanode

Hadoop tiene muchos archivos de configuración, que deben configurarse según los requisitos de su infraestructura de Hadoop. Configuremos los archivos de configuración de Hadoop uno por uno.

cd hadoop-2.7.3/etc/hadoop/

sudo gedit core-site.xml

Sitio principal.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

</configuration>
sudo gedit hdfs-site.xml

sitio hdfs.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/home/ubuntu/hadoop-2.7.3/hadoop2_data/hdfs/namenode</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/home/ubuntu/hadoop-2.7.3/hadoop2_data/hdfs/datanode</value>

</property>

</configuration>
sudo gedit yarn-site.xml

sitio-hilo.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

</configuration>
cp mapred-site.xml.template mapred-site.xml

sudo gedit mapred-site.xml

sitio-mapeado.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

Ahora siga los mismos pasos de instalación y configuración de Hadoop en la máquina esclava también. Una vez que haya instalado y configurado Hadoop en ambos sistemas, lo primero que debe hacer para iniciar su clúster de Hadoop es formatear el sistema de archivos hadoop , que se implementa sobre los sistemas de archivos locales de su clúster. Esto es necesario la primera vez que se instala Hadoop. No formatee un sistema de archivos Hadoop en ejecución, esto borrará todos sus datos HDFS.

Sobre el Maestro

cd

cd hadoop-2.7.3/bin

hadoop namenode -format

Ahora estamos listos para iniciar los demonios de hadoop, es decir, NameNode, DataNode, ResourceManager y Administrador de nodos en nuestro clúster Apache Hadoop.

cd ..

Ahora ejecute el siguiente comando para iniciar NameNode en la máquina maestra y DataNodes en la maestra y la esclava.

sbin/start-dfs.sh

El siguiente comando iniciará los demonios YARN, ResourceManager se ejecutará en maestro y NodeManagers se ejecutará en maestro y esclavo.

sbin/start-yarn.sh

Verifique que todos los servicios se hayan iniciado correctamente utilizando JPS (Java Process Monitoring Tool). tanto en la máquina maestra como en la esclava.

A continuación se muestran los demonios que se ejecutan en la máquina principal.

jps

En Esclavo

Verá que DataNode y NodeManager también se ejecutarán en la máquina esclava.

jps

Ahora abra su navegador Mozilla en la máquina principal y vaya a la siguiente URL

Compruebe el estado de NameNode:http://master:50070/dfshealth.html

Si ve '2' en nodos activos , eso significa 2 nodos de datos están en funcionamiento y ha configurado con éxito un culster Hadoop de múltiples nodos.

Conclusión

Puede agregar más nodos a su clúster Hadoop, todo lo que necesita hacer es agregar la nueva ip del nodo esclavo al archivo esclavo en el maestro, copiar la clave ssh al nuevo nodo esclavo, colocar la ip maestra en el archivo maestro en el nuevo nodo esclavo y luego reiniciar el servicios de hadoop. ¡¡Felicidades!! Ha configurado correctamente un clúster Hadoop de varios nodos.


Ubuntu
  1. Cómo agregar un archivo de intercambio en Ubuntu

  2. Cómo configurar MariaDB Galera Cluster en Ubuntu 20.04

  3. Cómo configurar HAProxy en Ubuntu 16.04

  4. Cómo configurar el cortafuegos UFW en Ubuntu 18.04

  5. Cómo instalar g ++ en Ubuntu

Cómo configurar la replicación de Cassandra en Ubuntu 16.04

Cómo configurar la replicación de CouchDB en Ubuntu 16.04

Cómo configurar osquery para monitorear amenazas de seguridad en Ubuntu

Cómo configurar el servidor de intercambio de archivos Samba en Ubuntu

Cómo configurar OpenVPN en Ubuntu Server

Cómo eliminar un archivo en Ubuntu