Manual de Instalación y Configuración Hadoop

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

Manual de instalación y

configuración Hadoop

2019
Contenido
Nota Inicial
Instalación de Java
Creación de usuario y grupo Hadoop
Configuración del Hostname
Instalación de SSH
Creación de certificado SSH
Instalación de Hadoop
Configuración de Archivos
1. ~/.bashrc:
2. /usr/local/hadoop/etc/hadoop/hadoop-env.sh
3. /usr/local/hadoop/etc/hadoop/core-site.xml:
4. /usr/local/hadoop/etc/hadoop/mapred-site.xml
5. /usr/local/hadoop/etc/hadoop/hdfs-site.xml
Formatear el nuevo sistema de archivos
Iniciar Servicios Hadoop
Parar Servicios Hadoop
Nota Inicial

Versión de Hadoop: 2.7


Versión Linux: Ubuntu 18.04

Se trata de una configuración del clúster de varios nodos Hadoop en un entorno


distribuido.

Utilizando tres sistemas (un maestro y dos esclavos).

Hadoop Master: 192.xx.xx.xx (hadoop-master)


Hadoop Slave: 192.xx.xx.xx (hadoop-slave-1)
Hadoop Slave: 192.xx.xx.xx (hadoop-slave-2)

Otras Fuentes de Instalación


https://www.adictosaltrabajo.com/tutoriales/hadoop-first-steps/

Instalación de Java

k@laptop:~$ cd ~

# Update the source list


k@laptop:~$ sudo apt-get update

# The OpenJDK project is the default version of Java


# that is provided from a supported Ubuntu repository.
k@laptop:~$ sudo apt-get install default-jdk

k@laptop:~$ java -version


java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3)
(7u71-2.5.3-0ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
Creación de usuario y grupo Hadoop
k@laptop:~$ sudo addgroup hadoop
Adding group `hadoop' (GID 1001) ...
Done.

k@laptop:~$ sudo adduser --ingroup hadoop hduser


Adding user `hduser' ...
Adding new user `hduser' (1001) with group `hadoop' ...
Creating home directory `/home/hduser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for hduser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
usermod -a -G sudo hduser
usermod -s /bin/bash hduser

Se debe agregar los permisos de root al usuario hduser

hduser@laptop:~/hadoop-2.6.0$ su -
Password:

k@laptop:/home/hduser$ sudo adduser hduser sudo


[sudo] password for k:
Adding user `hduser' to group `sudo' ...
Adding user hduser to group sudo
Done.

Configuración del Hostname


$Sudo nano /etc/hosts
Editar el archivo con las direcciones ip de cada máquina y con su
respectivo hostname
192.168.1.15 hadoop-master

192.168.1.16 hadoop-slave-1

192.168.1.17 hadoop-slave-2

Instalación de SSH

k@laptop:~$ sudo apt-get install ssh

Se comprueba que se configuró correctamente


k@laptop:~$ which ssh
/usr/bin/ssh

k@laptop:~$ which sshd


/usr/sbin/sshd

Creación de certificado SSH


k@laptop:~$ su hduser
Password:
k@laptop:~$ ssh-keygen -t rsa -P ""
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hduser/.ssh/id_rsa):
Created directory '/home/hduser/.ssh'.
Your identification has been saved in /home/hduser/.ssh/id_rsa.
Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.
The key fingerprint is:
50:6b:f3:fc:0f:32:bf:30:79:c2:41:71:26:cc:7d:e3 hduser@laptop
The key's randomart image is:
+--[ RSA 2048]----+
| .oo.o |
| . .o=. o |
| . + . o . |
| o = E |
| S + |
| . + |
| O + |
| O o |
| o.. |
+----------------

hduser@laptop:/home/k$ cat $HOME/.ssh/id_rsa.pub >>


$HOME/.ssh/authorized_keys

$ ssh-copy-id -i ~/.ssh/id_rsa.pub tutorialspoint@hadoop-master


$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop_tp1@hadoop-slave-1
$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop_tp2@hadoop-slave-2
$ chmod 0600 ~/.ssh/authorized_keys

Para Actualzar SSH:


$ ssh-keygen -f “/home/hduser/.ssh/known_hosts” -R 172.7.9.206

Se debe comprobar que las máquinas se pueden conectar libremente


por ssh.
Al escribir el comando:

$ssh hadoop-slave-1

Se debe conectar libremente a la máquina slave 1 sin pedir contraseña.


De igual forma con todas las máquinas.

Instalación de Hadoop
hduser@laptop:~$ wget
http://apache.uniminuto.edu/hadoop/common/hadoop-3.1.0/hadoop-3.1
.0.tar.gz
hduser@laptop:~$ tar xvzf hadoop-2.8.3.tar.gz

hduser@laptop:~$ sudo mv hadoop-2.8.3 /usr/local/


[sudo] password for hduser:
hduser is not in the sudoers file. This incident will be
reported.
k@laptop:/home/hduser$ sudo mv /usr/local/hadoop-2.8.3
/usr/local/hadoop

hduser@laptop:~/hadoop-2.6.0$ sudo chown -R hduser:hadoop


/usr/local/hadoop

Configuración de Archivos

1. ~/.profile:
Se debe tener en cuenta la ruta de JAVA_HOME:
hduser@laptop update-alternatives --config java
There is only one alternative in link group java (providing
/usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Nothing to configure.

Agregamos lo siguiente al final de archivo


hduser@laptop:~$ nano ~/.profile

#HADOOP VARIABLES START


export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
hduser@laptop:~$ source ~/.profile

Se comprueba que las variables de entorno quedó configurado


correctamente:
hduser@ubuntu-VirtualBox:~$ javac -version
javac 1.7.0_75
hduser@ubuntu-VirtualBox:~$ which javac
/usr/bin/javac

2. /usr/local/hadoop/etc/hadoop/hadoop-env.sh
hduser@laptop:~$ nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh
Editar la ruta del JAVA_HOME dentro del archivo
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

3. /usr/local/hadoop/etc/hadoop/core-site.xml:
hduser@laptop:~$ sudo mkdir -p /app/hadoop/tmp
hduser@laptop:~$ sudo chown -R hduser:hadoop /app

Editar el archivo entre las etiquetas <configuración> </configuración>


hduser@laptop:~$ nano /usr/local/hadoop/etc/hadoop/core-site.xml

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>A base for other temporary
directories.</description>
</property>

<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-master:8020</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation.
The
uri's scheme determines the config property (fs.SCHEME.impl)
naming
the FileSystem implementation class. The uri's authority is
used to
determine the host, port, etc. for a filesystem.</description>
</property>
</configuration>
4. /usr/local/hadoop/etc/hadoop/mapred-site.xml
hduser@laptop:~$ sudo mkdir -p /app/hadoop/mapred/system
hduser@laptop:~$ sudo mkdir -p /app/hadoop/mapred/local
hduser@laptop:~$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
/usr/local/hadoop/etc/hadoop/mapred-site.xml

Editar el archivo y agregar lo siguiente dentro de las etiquetas


<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<property>
<name>mapred.system.dir</name>
<value>/app/hadoop/mapred/system</value>
</property>

<property>
<name>mapred.local.dir</name>
<value>/app/hadoop/mapred/local</value>
</property>
</configuration>

5. /usr/local/hadoop/etc/hadoop/hdfs-site.xml

hduser@laptop:~$ sudo mkdir -p /app/hadoop/hdfs/namenode


hduser@laptop:~$ sudo mkdir -p /app/hadoop/hdfs/datanode
hduser@laptop:~$ sudo chown -R hduser:hadoop /app

hduser@laptop:~$ nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.
The actual number of replications can be specified when the
file is created.
The default is used if replication is not specified in create
time.
</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/app/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/app/hadoop/hdfs/datanode</value>
</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

</configuration>

6. /usr/local/hadoop/etc/hadoop/masters
Crear un archivo llamado masters con el hostname del nodo
maestro.

hduser@laptop:~$ nano /usr/local/hadoop/etc/hadoop/masters

hduser@hadoop-master

Crear un archivo llamado slaves con la lista de los nodos


esclavos. Uno por linea

hduser@laptop:~$ nano /usr/local/hadoop/etc/hadoop/slaves

hduser@hadoop-slave-1

hduser@hadoop-slave-2

7. /usr/local/hadoop/etc/hadoop/yarn-site.xml
hduser@laptop:~$ nano /usr/local/hadoop/etc/hadoop/yarn-site.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>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>master</value>

</property>

</configuration>

Formatear el nuevo sistema de archivos

hduser@laptop:~$ hdfs namenode -format

Iniciar Servicios Hadoop

hduser@laptop:~$ cd /usr/local/hadoop/sbin

hduser@laptop:/usr/local/hadoop/sbin$ start-dfs.sh

hduser@laptop:/usr/local/hadoop/sbin$ start-yarn.sh

Visualizar cuáles servicios están corriendo


hduser@laptop:/usr/local/hadoop/sbin$ jps
9026 NodeManager
7348 NameNode
9766 Jps
8887 ResourceManager
7507 DataNode
Parar Servicios Hadoop
hduser@laptop:/usr/local/hadoop/sbin$ stop-dfs.sh

hduser@laptop:/usr/local/hadoop/sbin$ stop-yarn.sh

Hadoop Interfaz Web


Hadoop presenta dos interfaces web, una para el HDFS y otra para
Yarn.
La interfaz de HDFS muestra información del estado del cluster y los nodos y
se puede visualizar las carpetas y archivos del sistema de archivo HDFS, mas
no se puede ver el contenido de los archivos. Se accede desde un navegador
al puerto 9870 para la version 3.0 y posteriores, para versiones anteriores el
puerto es 50070 por defecto, por ejemplo, http://192.168.1.15:9870
**192.168.1.15 es la direccion ip del nodo master
En la interfaz de Yarn se ve información del cluster y las aplicaciones que se han
ejecutado o se están ejecutando. Se accede desde un navegador en el puerto 8088
por defecto (para todas las versiones), por ejemplo, http://192.168.1.15:8088
**192.168.1.15 es la direccion ip del nodo master

También podría gustarte