anfitrion1:~$ bash ejercicio-hadoop.sh
maestro
la salida del tráfico de los esclavos
maestro:~# echo 1 > /proc/sys/net/ipv4/ip_forward maestro:~# iptables -t nat -A POSTROUTING -o eth1 -i eth0 -j MASQUERADE
anfitrion1:~$ bash ejercicio-hadoop-maestro.sh 10.10.10.1 10.10.10.11 10.10.10.22 anfitrion2:~$ bash ejercicio-hadoop-esclavo.sh esclavo1 10.10.10.11 10.10.10.1 10.10.10.22 anfitrion3:~$ bash ejercicio-hadoop-esclavo.sh esclavo2 10.10.10.22 10.10.10.1 10.10.10.11Importante: ajustar el rango de direcciones utilizado según corresponda para diferenciar los clusters en la red del laboratorio
maestro ifconfig -a esclavo1 ifconfig -a esclavo1 ifconfig -a
maestro ifconfig eth0 10.10.10.1 maestro ifconfig eth1 10.0.3.15 maestro ifconfig eth2 192.168.56.111 esclavo1 ifconfig eth0 10.10.10.11 esclavo1 ifconfig eth1 10.0.3.15 esclavo2 ifconfig eth0 10.10.10.22 esclavo2 ifconfig eth1 10.0.3.15
sudo
y openjdk-7-jdk
apt-get install sudo apt-get install openjdk-7-jdk
echo "net.ipv6.conf.all.disable_ipv6=1" >> /etc/sysctl.conf sysctl -p
ssh
para el usuario root
en /etc/ssh/sshd_config
... # Authentication: LoginGraceTime 120 PermitRootLogin yes # <--- StrictModes yes ...
apt-get
cd /etc/apt/sources.list.d wget http://public-repo-1.hortonworks.com/ambari/debian7/2.x/updates/2.1.2/ambari.list
apt-key adv --recv-keys --keyserver keyserver.ubuntu.com B9733A7A07513CAD
ambari-server
y ambari-agent
(opcional, se instalará durante la puesta en marcha de Ambari)
apt-get update apt-get install ambari-server apt-get install ambari-agent
ssh
a la máquina MAESTRO
(usando la dirección 192.168.56.111
vinculada al interfaz de red en modo Sólo-Host)
anfitrion:~/$ ssh root@192.168.56.111 root@192.168.56.111's password: Linux maestro 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u6 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Fri Dec 18 10:29:11 2015 from alqueidon.local root@maestro:~#
ssh
sin contraseña: crear claves + propagarlas a las máquinas del cluster
root@maestro:~# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 15:85:47:56:f0:d9:15:9d:22:7b:2e:cc:91:3d:cd:3d root@maestro The key's randomart image is: +--[ RSA 2048]----+ | .+=o..=| | .+.o +o| | ..= * o| | . + + E.| | S o + . .| | + . | | . | | | | | +-----------------+ root@maestro:~# ssh-copy-id -i root@esclavo1 root@maestro:~# ssh-copy-id -i root@esclavo2 root@maestro:~# ssh-copy-id -i root@maestro
/usr/lib/jvm/java-7-openjdk-amd64/
)
root@maestro:~# ambari-server setup ... Customize user account for ambari-server daemon [y/n] (n)? n ... Checking JDK... [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8 [2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7 [3] Custom JDK ============================================================================== Enter choice (1): 3 ... Path to JAVA_HOME: /usr/lib/jvm/java-7-openjdk-amd64/
root@maestro:~# ambari-server start
La consola web de Apache Ambari estará disponible en el puerto 8080
http://192.168.56.111:8080
y conectarse con el usuario admin
y la contraseña admin
.
Name your cluster: cda Stacks: HDP 2.3 Target Hosts: esclavo1 esclavo2 maestro SSH private key: -----BEGIN RSA PRIVATE KEY----- ... ... -----END RSA PRIVATE KEY----- < copiarla desde el archivo '/root/.ssh/id_rsa' de MAESTRO > (root@maestro:~# cat /root/.ssh/id_rsa)
HDFS
: sistema de ficheros distribuido de Hadoop [parte del 'núcleo' de Hadoop]
Más información: http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html
YARN + MapReduce2
: gestor de ejecución de Hadoop [parte del 'núcleo' de Hadoop]
Más información: http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/index.html, http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html
Tez
: gestor de ejecución (complementa YARN) [requerido por Apache Ambari]
Más información: http://tez.apache.org/
Hive
: motor de consultas SQL sobre Hadoop [opcional]
Más información: http://hive.apache.org/
Pig
: motor+lenguaje de procesamiento/consultas [opcional]
Más información: http://pig.apache.org/
ZooKeeper
: coodinador del cluster [requerido por Apache Ambari]
Más información: http://zookeeper.apache.org/
Ambari Metrics
: recolector de métricas del cluster [requerido por Apache Ambari]
Mahout
: framework de aprendizaje autimático
Más información: http://mahout.apache.org/
MAESTRO
zooKeeper
eliminar (botón ''-'') los maestros ubicados en las máquinas ESCLAVO<>
DataNode
y NodeManager
en las máquinas ESCLAVO<>
Client
en todas las máquinas
purple
) del servidor MySQL utilizado
internamente por el módulo Hive
(solapa Advanced
)
Java heap size
de los componentes NameNode
de HDFS
y del componente Node
de YARN
.
Más información en: Ambari Views Guide
'admin'
, seleccionar Manage Ambari
o acceder directamente a la URL: http://192.168.56.111:8080/views/ADMIN_VIEW/2.1.2/INSTANCE/#/
Views
en la sección Deploy views
FILES 1.0.0
, botón Create instance
Instance Name: FICHEROS Display Name: Ficheros Description: Acceso a HDFS Local Ambari Managed Cluster -> Cluster Name: cda
PIG 1.0.0
, botón Create instance
Instance Name: PIG Display Name: Pig Description: Interfaz Pig Scripts HDFS Directory: /user/${username}/pig/scripts Jobs HDFS Directory: /user/${username}/pig/jobs Local Ambari Managed Cluster -> Cluster Name: cda
HIVE 1.0.0
, botón Create instance
Instance Name: HIVE Display Name: Hive Description: Interfaz Hive Scripts HDFS Directory: /user/${username}/hive/scripts Jobs HDFS Directory: /user/${username}/hive/jobs Default script settings file: /user/${username}/.${instanceName}.defaultSettings Local Ambari Managed Cluster -> Cluster Name: cda
admin
(desde terminal como usuario hdfs
)
root@maestro:~# su - hdfs $ hadoop fs -mkdir /user/admin/ $ hadoop fs -chown admin:hdfs /user/admin/ $ hadoop fs -ls /user Found 4 items drwxr-xr-x - admin hdfs 0 2015-12-14 17:36 /user/admin drwxrwx--- - ambari-qa hdfs 0 2015-12-14 12:09 /user/ambari-qa drwxr-xr-x - hcat hdfs 0 2015-12-14 12:02 /user/hcat drwx------ - hive hdfs 0 2015-12-14 12:04 /user/hive $ exit
root
el acceso a HDFS configurando un proxyuser (necesario para la 'vista Ficheros' y la 'vista Pig')
Clusters > cda > Go to Dashboard
)
core-site-xml
desde HDFS > Configs > Advanced > Custom core-site
y establecer las siguientes properties
hadoop.proxyuser.root.groups : * hadoop.proxyuser.root.hosts : *
Se pedirá confirmación de los cambios y el reinicio de los servicios afectados.
hcat
el acceso a HDFS configurando un proxyuser (necesario para la 'vista Pig')
Clusters > cda > Go to Dashboard
cambiar al panel de control del cluster
core-site-xml
desde HDFS > Configs > advanced > Custom core-site
y editar las siguientes properties
hadoop.proxyuser.hcat.groups : * hadoop.proxyuser.hcat.hosts : *
Se pedirá confirmación de los cambios y el reinicio de los servicios afectados.
root
el acceso a WebHCat configurando un proxyuser (necesario para la 'vista Pig')
webhcat-site.xml
desde
Hive > Configs > Advanced > Custom webhcat-site
y establecer las siguientes properties
webhcat.proxyuser.root.groups : * webhcat.proxyuser.root.hosts : *
Se pedirá confirmación de los cambios y el reinicio de los servicios afectados.
Tutoriales básicos sobre Apache Pig de http://hortonworks.com/
Tutorial básico sobre Apache Hive de http://hortonworks.com/