Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Instalacion Hadoop Centos 7

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

Instalación máquina hadoop con

recursos mínimos.
1-Descargar última versión VMware player si no la tenemos ya instalada:

https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_pl
ayer/12_0

2-Descargar Centos 7 en formato ISO:

http://ftp.rediris.es/mirror/CentOS/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso

3-Crear máquina virtual con:

* Disco de 40GB

* RAM igual o mayor a 2GB

* Red en modo Bridged

* Disco de arranque el ISO que hemos descargado en el paso anterior.

4- Seleccionamos la opción de Instalar

5- Cuando esté instalada y arrancada la máquina Centos, seguramente no podamos acceder a la red.
Probamos haciendo ping 8.8.8.8. Si no hay respuesta, hacemos lo siguiente:

5.1- # cd /etc/sysconfig/network-scripts

5.2- # vi ifcfg-ens33

5.3- Cambiamos el valor de loas siguientes entradas:

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

ONBOOT=yes

5.4- Guardamos y salimos del editor

5.5- Reiniciamos la red:

# systemctl restart NetworkManager

5.6- Volvemos a hacer

# ping 8.8.8.8

y debería de responder.
6- Actualizamos los paquetes instalados con:

# yum update

# yum upgrade

7.0- Instalamos net-tools:

# yum install net-tools

7.01- vemos qué ip nos ha tomado:

# ifconfig

7- Comprobamos si ya está instalado java:

# javac

# java -version

7.1-Si alguna de las instrucciones anteriores da un error parecido a “no such file o directory”,
entonces necesitamos instalar el kit de desarrollo de java JDK (es lo normal si la máquina
está recién instalada). Si ya la tenemos instalada, podemos saltarnos el paso siguiente.

8- Si el punto anterior dio error, necesitamos instalar JDK:

OPCIÓN 1:

8.1- En el navegador de la máquina física, vamos a la página


http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-
2133155.html

8.2- Buscamos el último paquete de instalación para Linux x64 en versión rpm y la
descargamos: http://download.oracle.com/otn-pub/java/jdk/8u172-
b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.rpm

8.3- Una vez descargado, lo subimos mediante winscp a la máquina virtual

OPCIÓN 2:

8.4- Lo descargamos directamente desde la consola:


#curl -LO -H "Cookie: oraclelicense=accept-securebackup-
cookie" http://download.oracle.com/otn-pub/java/jdk/8u172-
b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.rpm

8.4- Lo instalamos:

# rpm -ivh jdk-8u172-linux-x64.rpm

8.4- Una vez termine de instalar, comprobamos de nuevo con ‘javac’ y ‘java -version’
9- Ya comprobado que existe JDK en nuestra máquina virtual, necesitamos agregar la ruta a la variable
de entorno JAVA_HOME:

9.1- Comprobamos primero que no está definida la variable JAVA_HOME:

# echo $JAVA_HOME

No saldrá nada si no está definida. En caso contrario, saltamos a la instalación de


Hadoop.

9.2- Por defecto estará en /usr/java/latest

9.3- Si no conocemos dónde está instalado, lo buscamos mediante la instrucción:

# find / -name jdk* -print

9.4- Así pues, creamos un symlink y agregamos la ruta:


# ln -s /usr/java/latest /opt/java
# export JAVA_HOME=/opt/java
# export PATH=$JAVA_HOME/bin:${PATH}

10- Instalación de Hadoop:

10.1- Descargar http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-


3.1.0/hadoop-3.1.0.tar.gz o la última versión estable:

# curl -O http://apache.rediris.es/hadoop/common/hadoop-3.1.0/hadoop-3.1.0.tar.gz

10.2- Copiamos el fichero descargado donde queremos la instalación y descomprimimos:

# cp hadoop-3.1.0.tar.gz /usr/local

# cd /usr/local

# tar -xvf hadoop-3.1.0.tar.gz

10.3- Creamos un enlace simbólico:

# ln -s /usr/local/hadoop-3.1.0 /opt/hadoop

10.4- Y la variable de entorno HADOOP_HOME:

# export HADOOP_HOME=/opt/hadoop

# export PATH=$HADOOP_HOME/bin:${PATH}

10.5- Editamos el fichero hadoop-env.sh, por defecto estará en


/opt/hadoop/etc/hadoop/hadoop-env.sh, buscamos JAVA_HOME para descomentarlo si fuese
necesario y apuntar a nuestra instalación de JDK:

export JAVA_HOME=/opt/java

11- Habilitación de ssh:

11.1- Editamos /etc/ssh/sshd_config y descomentamos el puerto


11.2- Generamos el par de claves:

# cd /root

# ssh-keygen

(dejamos todo por defecto. En una instalación en producción habría que tomarse con
más calma esta configuración).

# cd .ssh

# cat id_rsa.pub >> authorized_keys

11.3- Reiniciamos el servicio y tratamos de conectarnos localmente:

# service sshd restart

# ssh localhost

NOTA: Hay que recordar que toda esta configuración es para hacer nuestras pruebas en
nuestra propia máquina local. Para un entorno de producción habría que limitar el
acceso remoto por ssh al usuario root y las ip’s que pueden conectarse.

11.4- Hacemos que el demonio sshd arranque automáticamente cuando arranque la máquina
virtual:

# chkconfig sshd on

12- Para facilitar que cada vez que entremos en la consola se creen las variables de entorno, podemos
crear un fichero hadoop_config.sh con las siguientes líneas:
## JAVA env variables
export JAVA_HOME=/opt/java
export PATH=$PATH:$JAVA_HOME/bin:${PATH}
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:
$JAVA_HOME/lib/tools.jar
## HADOOP env variables
export HADOOP_HOME=/opt/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HDFS_NAMENODE_USER="root"
export HDFS_DATANODE_USER="root"
export HDFS_SECONDARYNAMENODE_USER="root"
export YARN_RESOURCEMANAGER_USER="root"
export YARN_NODEMANAGER_USER="root"

Ahora cada vez que entremos en la consola y queramos trabajar con hadoop, solo tendremos que poner
la siguiente instrucción:

# source hadoop_config.sh
Otra opción es colocarlo en el fichero del perfil, al final del fichero:

# nano .bash_profile

Lo que hará que se configuren las variables automáticamente cada vez que iniciemos sesión.

Para comprobar si ha funcionado, solo tendremos que ver que la siguiente instrucción no da
error:

# hadoop

13- Ya solo queda comprobar que realmente funciona:

# hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0.jar pi


4 1000

14- Configuración del modo de funcionamiento. Existen tres posibles modos de funcionamiento:

* Local standalone: Es el modo por defecto y en el que hemos ejecutado el ejemplo anterior.
Todos los componentes corren sobre un único proceso java.

* Pseudo-distribuido: En este modo cada uno de los componentes se ejecutan sobre su propia
máquina virtual java separada.

* Distribuido completo: En este modo los componentes hadoop son repartidos entre las
diferentes máquinas físicas que formen parte del clúster.

14.1- Vamos a configurar nuestra máquina como pseudo-distribuido. Para ello editamos el
fichero /opt/hadoop/etc/hadoop/core-site.xml y añadimos entre las etiquetas <configuration>…
</configuration> las siguientes líneas:
<property>
<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>
</property>

Y guardamos.

14.2- Igualmente, editamos el fichero /opt/hadoop/etc/hadoop/hdfs-site.xml:


<property>
<name>dfs.replication</name>
<value>1</value>
</property>

14.3- Editamos el fichero /opt/hadoop/etc/hadoop/mapred-site.xml:

Es posible que sólo exista mapred-site.xml.template, por lo que tendríamos primero que
copiarlo:

# cp /opt/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/etc/hadoop /mapred-


site.xml
Y ahora sí editamos el fichero para incluir las siguientes líneas entre <configuration>…
</configuration>:
<property>
<name>mapreduce.framework.name</name>
<value>yarn </value>
</property>

14.4- Y por último, editamos el fichero /opt/hadoop/etc/hadoop/yarn-site.xml:

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

15- Vamos a preparar ahora el sistema de archivos HDFS.

15.1- Necesitamos especificar dónde situaremos el HDFS dentro del sistema de archivos local:

15.1.1- Creamos los directorios donde hadoop almacenará sus datos:

# mkdir -p /opt/volume/datanode

# mkdir -p /opt/volume/namenode

15.1.2- Nos aseguramos que cualquier usuario puede escribir;

# chmod 777 /opt/volume/datanode

# chmod 777 /opt/volume/namenode

15.1.3- Modificamos nuevamente nuestro hdfs-site.xml para añadir las siguientes


líneas (por ejemplo debajo de la última línea que introdujimos antes, pero siempre
dentro de las etiquetas <configuration>…</configuration>:
<property>
<name>dfs.data.dir</name>
<value>file:///opt/volume/datanode</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///opt/volume/namenode</value>
</property>

15.2- Necesitamos formatear HDFS antes de utilizarlo:

# hdfs namenode -format

15.3- Ahora arrancamos los servicios manualmente:

# $HADOOP_HOME/sbin/start-all.sh
15.4- Y comprobamos que están los servicios arrancados:

# jps

Debería salir algo como esto:

11393 NodeManager

11297 ResourceManager

11748 Jps

10855 NameNode

11145 SecondaryNameNode

10975 DataNode

15.5- Comprobamos que ya está funcionando nuestro HDFS:

# hdfs dfs -mkdir /user

# hdfs dfs -ls /

Con esto ya tendríamos preparada nuestra máquina hadoop.

También podría gustarte