Instalacion Hadoop Centos 7
Instalacion Hadoop Centos 7
Instalacion Hadoop Centos 7
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
http://ftp.rediris.es/mirror/CentOS/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso
* Disco de 40GB
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
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
ONBOOT=yes
# ping 8.8.8.8
y debería de responder.
6- Actualizamos los paquetes instalados con:
# yum update
# yum upgrade
# ifconfig
# 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.
OPCIÓN 1:
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
OPCIÓN 2:
8.4- Lo instalamos:
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:
# echo $JAVA_HOME
# curl -O http://apache.rediris.es/hadoop/common/hadoop-3.1.0/hadoop-3.1.0.tar.gz
# cp hadoop-3.1.0.tar.gz /usr/local
# cd /usr/local
# ln -s /usr/local/hadoop-3.1.0 /opt/hadoop
# export HADOOP_HOME=/opt/hadoop
# export PATH=$HADOOP_HOME/bin:${PATH}
export JAVA_HOME=/opt/java
# 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
# 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
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.
Es posible que sólo exista mapred-site.xml.template, por lo que tendríamos primero que
copiarlo:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
15.1- Necesitamos especificar dónde situaremos el HDFS dentro del sistema de archivos local:
# mkdir -p /opt/volume/datanode
# mkdir -p /opt/volume/namenode
# $HADOOP_HOME/sbin/start-all.sh
15.4- Y comprobamos que están los servicios arrancados:
# jps
11393 NodeManager
11297 ResourceManager
11748 Jps
10855 NameNode
11145 SecondaryNameNode
10975 DataNode