Hadoop PDF
Hadoop PDF
Hadoop - Inicio
Hadoop - Grandes Datos Generales
Hadoop - Grandes Soluciones de Datos
Hadoop: Introducción
Hadoop - Configuración Entorno
Hadoop - HDFS Descripción General
Hadoop - HDFS Operaciones
Hadoop - Referencia de Comandos
Hadoop - MapReduce
Hadoop - Streaming
Hadoop - Varios Nodos de Clúster
Hadoop - Grandes Datos Generales
"El 90% de los datos de todo el planeta se generó en los últimos años".
Debido a la aparición de nuevas tecnologías, dispositivos y medios de
comunicación como los sitios de redes sociales, la cantidad de datos
producida por la humanidad está creciendo rápidamente cada año. La
cantidad de datos producidos por nosotros desde el principio de los tiempos
hasta 2003 fue de 5 millones de gigabytes. Si se acumulan los datos en forma
de discos que se pueden llenar todo un campo de fútbol. La misma cantidad
se creó en cada dos días en el año 2011, y en cada diez minutos en el año
2013. Esta tasa es aún está creciendo enormemente. A pesar de que todos la
información que producen es significativo y puede ser útil cuando se procesan,
se descuida.
Captura de datos
Curaduría
Almacenamiento
Buscar
Compartir
Transferencia
Análisis
Presentación
Para cumplir con los retos mencionados, las organizaciones suelen tener la
ayuda de los servidores empresariales.
Limitación
Este método funciona bien con las aplicaciones de las que menos voluminoso
proceso datos que pueden ser atendidas por los servidores de la base
estándar, o hasta el límite del procesador que se está procesando los datos.
Pero cuando se trata de hacer frente a enormes cantidades de datos
escalable, es una frenética tarea de procesar los datos a través de una base
de datos única botella.
Solución de Google
Google soluciona este problema mediante un algoritmo llamado MapReduce.
Este algoritmo divide la tarea en partes pequeñas y los asigna a muchos
equipos, y recopila los resultados de ellos que si se integra, forma el conjunto
de datos de resultado.
Hadoop
Utilizando la solución aportada por Google, Doug y su equipo desarrollaron un
proyecto de Código Abierto llamado HADOOP.
Hadoop ejecuta las aplicaciones utilizando el algoritmo MapReduce, donde los
datos se procesan en paralelo con los demás. En resumen, Hadoop se utiliza
para desarrollar aplicaciones que podrían hacer un análisis estadístico de
grandes cantidades de datos.
Hadoop - Introducción
Apache Hadoop es un marco de trabajo de código abierto escrito en java que
permite procesamiento distribuido de grandes conjuntos de datos a través de
clusters de ordenadores mediante sencillos modelos de programación.
Hadoop marco la aplicación funciona en un entorno que proporciona
almacenamiento distribuido y cálculos en grupos de equipos. Hadoop se ha
diseñado para aumentar la escala de un solo servidor a miles de máquinas,
cada uno ofreciendo a los cálculos y el almacenamiento.
Hadoop Arquitectura
En su núcleo, Hadoop tiene dos capas principales:
MapReduce
¿Cómo Hadoop?
Es bastante caro para construir grandes servidores con configuraciones que
manejan grandes transformaciones, pero como una alternativa, usted puede
atar muchos ordenadores de consumo con una sola CPU, como un único
funcional sistema distribuido y en la práctica, el agrupado las máquinas
pueden leer el conjunto de datos en paralelo y proporcionar un rendimiento
mucho mayor. Además, es más barato que un servidor de gama alta. Así que
este es el primer factor de motivación detrás con Hadoop que agrupados y se
extiende a través de bajo costo máquinas.
Hadoop se ejecuta código a través de un cluster de computadoras. Este
proceso incluye las siguientes tareas básicas que Hadoop realiza:
Ventajas de Hadoop
Hadoop marco permite al usuario escribir rápidamente y probar sistemas
distribuidos. Es eficiente y automático que distribuye los datos y trabajar a través
de las máquinas y a su vez, utiliza el paralelismo de los núcleos de CPU.
Hadoop no depende de hardware para proporcionar tolerancia a fallos y alta
disponibilidad (FTHA), y Hadoop propia biblioteca ha sido diseñado para detectar
y controlar errores en el nivel de aplicación.
Los servidores se pueden añadir o quitar del clúster dinámicamente y Hadoop
continúa funcionando sin interrupción.
Otra gran ventaja de Hadoop es que aparte de ser open source, que es compatible
en todas las plataformas ya que está basado en Java.
Hadoop - Configuración Entorno
Hadoop es compatible con GNU/Linux plataforma y sus sabores. Por lo tanto,
tenemos que instalar un sistema operativo Linux para configurar Hadoop
medio ambiente. En el caso de que usted tenga un SO que no sea Linux, se
puede instalar un software en el Virtualbox y Linux dentro del Virtualbox.
Creación de un usuario
Instalación de Java
Java es el principal requisito previo para Hadoop. En primer lugar, debe
comprobar la existencia de java en el sistema con el comando "java -version".
La sintaxis de java versión comando es dada a continuación.
$ java -version
Si todo está en orden, se le dará el siguiente resultado.
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
Si java no está instalado en el sistema, a continuación, siga los pasos que se
indican a continuación para instalar java.
Paso 1
Paso 2
Paso 3
Para que java disponible para todos los usuarios, tiene que mover a la
ubicación “/usr/local/”. Abrir root, y escriba los siguientes comandos.
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
Paso 4
Para la configuración de ruta de acceso y JAVA_HOME variables, agregar los
siguientes comandos en el archivo ~/.bashrc
export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH=PATH:$JAVA_HOME/bin
Descargar Hadoop
Descargar y extraer Hadoop 2.4.1 de Apache software foundation usando los
siguientes comandos.
$ su
password:
# cd /usr/local
# wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/
hadoop-2.4.1.tar.gz
# tar xzf hadoop-2.4.1.tar.gz
# mv hadoop-2.4.1/* to hadoop/
# exit
Configuración de Hadoop
Ejemplo
Paso 1
Paso 2
Paso 3
<property>
<name>fs.default.name </name>
<value> hdfs://localhost:9000 </value>
</property>
</configuration>
hdfs-site.xml
Lahdfs-site.xmlcontiene información como el valor de los datos de réplica,
namenode ruta y datanode las rutas de acceso de los sistemas de archivos
locales. Esto significa que el lugar donde se desea almacenar el Hadoop
infraestructura.
Supongamos los siguientes datos.
dfs.replication (data replication value) = 1
(In the below given path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs
file system.)
namenode path = //home/hadoop/hadoopinfra/hdfs/namenode
(hadoopinfra/hdfs/datanode is the directory created by hdfs
file system.)
datanode path = //home/hadoop/hadoopinfra/hdfs/datanode
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/namenode
</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hadoopinfra/hdfs/datanode
</value>
</property>
</configuration>
Nota: En el archivo anterior, todos los valores de la propiedad son definidos
por el usuario y puede realizar cambios en función de su infraestructura
Hadoop.
yarn-site.xml
Este archivo se utiliza para configurar yarn en Hadoop. Abra el archivo yarn-
site.xml y añadir las siguientes propiedades de entre el <configuration>,
</configuration> en el archivo.
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
mapred-site.xml
Este archivo se utiliza para especificar qué MapReduce framework que
estamos usando. De forma predeterminada, Hadoop contiene una plantilla de
yarn-site.xml. En primer lugar, es necesario copiar el archivo desdemapred-
site,xml.template a mapred-site.xmlcon el siguiente comando.
$ cp mapred-site.xml.template mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
HDFS Arquitectura
A continuación se muestra la arquitectura de un sistema de archivos Hadoop.
HDFS sigue el maestro-esclavo y arquitectura que tiene los siguientes
elementos:
Namenode
Datanode
Bloque
HDFS Inicio
En un principio tienes que formatear el sistema de archivos HDFS namenode,
abierto (HDFS server), y ejecute el siguiente comando.
$ hadoop namenode -format
Paso 1
Paso 2
Paso 3
Paso 1
En un primer momento, ver los datos de los HDFS con comando cat.
$ $HADOOP_HOME/bin/hadoop fs -cat /user/output/outfile
Paso 2
Apagar el HDFS
Puede apagar el HDFS, utilizando el siguiente comando.
$ stop-dfs.sh
Hadoop - Referencia de Comandos
Hay muchos más comandos en"$HADOOP_HOME/bin/hadoop fs"que se
muestran aquí, aunque estas operaciones básicas serán suficientes para
empezar. Ejecuta ./bin/hadoop dfs con argumentos adicionales no se mostrará
una lista de todos los comandos que se pueden ejecutar con el sistema
FsShell. Por otra parte, $HADOOP_HOME/bin/hadoop fs -
help nombrecomando muestra un breve resumen de los usos de la operación
de que se trate, si se bloquea.
Una tabla de todas las operaciones se muestra a continuación. Las siguientes
convenciones se utilizan para los parámetros:
"<path>" means any file or directory name.
"<path>..." means one or more file or directory names.
"<file>" means any filename.
"<src>" and "<dest>" are path names in a directed operation.
"<localSrc>" and "<localDest>" are paths as above, but on the
local file system.
1.
ls <path>
Muestra el contenido de un directorio especificado en la ruta, con los nombres, los
permisos, el propietario, tamaño y fecha de modificación de cada entrada.
2.
lsr <path>
Se comporta como -ls, pero muestra las entradas de forma recursiva todos los
subdirectorios de la ruta.
3.
du <path>
Muestra uso de disco, en bytes, de todos los archivos que coincidirá con la ruta; los
nombres de archivo se comunicó con el prefijo HDFS protocolo.
4.
dus <path>
Como -du, pero imprime un resumen del uso del disco de todos los archivos/directorios
de la ruta.
5.
mv <src><dest>
Mueve el archivo o directorio indicado por src a dest, en HDFS.
6.
cp <src> <dest>
Copia el archivo o directorio identificado por src a dest, en HDFS.
7.
rm <path>
Elimina el archivo o directorio vacío identificado con la ruta de acceso.
8.
rmr <path>
Elimina el archivo o directorio identificados con la ruta de acceso. Forma recursiva
elimina todas las entradas secundarias (es decir, los archivos o los subdirectorios de la
ruta).
9.
put <localSrc> <dest>
Copia el archivo o directorio del sistema de archivos local identificado por localSrc al
dest en el SLE.
10.
copyFromLocal <localSrc> <dest>
Idéntico a -ponga
11.
moveFromLocal <localSrc> <dest>
Copia el archivo o directorio del sistema de archivos local identificado por localSrc al
dest en HDFS, y, a continuación, elimina la copia local en el éxito.
12.
get [-crc] <src> <localDest>
Copia el archivo o directorio en HDFS identificados por src a la ruta del sistema de
archivos local identificado por localDest.
13.
getmerge <src> <localDest>
Recupera todos los archivos que coinciden con la ruta src en HDFS, y copia en un
único archivo, se funden en el sistema de archivos local identificado por localDest.
14.
cat <filen-ame>
Muestra el contenido del archivo en stdout.
15.
copyToLocal <src> <localDest>
Idéntico a -get
16.
moveToLocal <src> <localDest>
Funciona de forma similar -get, pero elimina la HDFS copia en caso de éxito.
17.
mkdir <path>
Creates a directory named path in HDFS.
Crea los directorios en la ruta principal que faltan (p. ej., mkdir -p en Linux).
18.
setrep [-R] [-w] rep <path>
Establece el objetivo de replicación de archivos identificados en la ruta de acceso a rep.
(La replicación real factor se moverá hacia la meta en el tiempo)
19.
touchz <path>
Crea un archivo en la ruta que contiene la hora actual como una marca de tiempo. No
se si ya existe un archivo en la ruta, a menos que el archivo ya está tamaño 0.
20.
test -[ezd] <path>
Devuelve 1 si existe una ruta; tiene longitud cero; o es un directorio o de lo contrario, 0.
21.
stat [format] <path>
Imprime la información acerca de camino. Format es una cadena que acepta tamaño
del archivo en bloques ( %b), nombre ( %n), tamaño de bloque ( %o), la replicación (
%r), y fecha de modificación ( %y, %Y).
22.
tail [-f] <file2name>
Muestra el último archivo de 1KB en stdout.
23.
chmod [-R] mode,mode,... <path>...
Cambia los permisos de archivo asociado con uno o más objetos identificados en la
ruta... Realiza los cambios recursivamente con R. es el modo 3-dígitos modo octal o
{augo}+/-{rwxX}. Asume si no se especifica scope y no aplicar un umask.
24.
chown [-R] [owner][:[group]] <path>...
Establece el usuario propietario y/o un grupo de archivos o directorios identificados por
la ruta... Conjuntos recursivamente si propietario -R es especificado.
25.
chgrp [-R] group <path>...
Establece el grupo propietario de los archivos o directorios identificados por la ruta...
Grupo Conjuntos recursivamente si se especifica -R.
26.
help <cmd-name>
Devuelve información sobre el uso de uno de los comandos listados anteriormente.
Debe omitir las principales caracter '-' en cmd.
Hadoop - MapReduce
MapReduce es un marco con la que podemos escribir aplicaciones para
procesar grandes cantidades de datos, paralelamente, en grandes grupos de
componentes de hardware de manera confiable.
El algoritmo
Paradigma MapReduce por lo general se basa en enviar el ordenador a donde
residen los datos.
MapReduce programa se ejecuta en tres etapas, a saber: mapa etapa, shuffle, y
reducir.
o Mapa etapa : El mapa o mapa de trabajo es la de procesar los datos de
entrada. Por lo general, los datos de entrada se encuentra en la forma de
archivo o directorio y se almacena en el sistema de archivos Hadoop
(HDFS). El archivo de entrada se pasa a la función mapa línea por línea.
El mapper procesa los datos y crea varios pequeños fragmentos de datos.
o Reducir etapa: Esta etapa es la combinación de la reproducción
aleatoria y la etapa Reducir. La pieza de trabajo es la de procesar los
datos que llegan desde el mapa. Después de un proceso de elaboración,
se genera un nuevo conjunto de la producción, que se almacena en el
HDFS.
Durante el trabajo, Hadoop MapReduce envía el mapa y reducir las tareas a los
servidores correspondientes en el clúster.
El marco de trabajo administra todos los detalles de los datos de tareas tales como
la emisión, verificar la realización de las tareas, y copia de los datos en todo el
clúster entre los nodos.
La mayoría de los informáticos se lleva a cabo en los nodos de datos en los discos
locales que reduce el tráfico de la red.
Tras la finalización de las tareas asignadas, el grupo recopila y disminución de los
datos que forman un resultado adecuado y lo envía de vuelta al servidor Hadoop.
Entrada Salida
Terminología
Carga útil - Aplicaciones aplicar el mapa y reduzca las funciones y forman el
núcleo del trabajo.
Mapa - Mapa mapas la entrada pares clave/valor a un conjunto de insumos par
clave/valor.
NamedNode - nodo que gestiona el Hadoop Distributed File System (HDFS).
DataNode - Nodo en el que se presentan los datos antes de cualquier
transformación.
MasterNode JobTracker - Nodo donde se ejecuta y que acepta las peticiones de
trabajo de los clientes.
SlaveNode - Nodo en Mapa y Reducir programa se ejecuta.
JobTracker - Los trabajos y las vías el asignar trabajos a Tarea tracker.
Tarea Tracker - Realiza un seguimiento de la tarea y el estado de los informes de
JobTracker.
Trabajo: un programa es una ejecución de un mapa y reductor en un conjunto de
datos.
Tarea: La ejecución de un mapa o un reductor en un corte de datos.
Tarea intento - un caso particular de un intento de ejecutar una tarea en un
SlaveNode.
Escenario de ejemplo
A continuación se muestra los datos relativos al consumo eléctrico de una
organización. Contiene el consumo eléctrico mensual y el promedio anual de
diferentes años.
Jan Feb Mar Apr Mayo Jun Jul Ago Sep Oct Nov Dec Avg
1979 23 23 2 43 24 25 26 26 26 26 25 26 25
1980 26 27 28 28 28 30 31 31 31 30 30 30 29
1981 31 32 32 32 33 34 35 36 36 34 34 34 34
1984 39 38 39 39 39 41 42 43 40 39 38 38 40
1985 38 39 39 39 39 41 41 41 00 40 39 39 45
Datos de entrada
Programa de ejemplo
import java.util.*;
import java.io.IOException;
import java.io.IOException;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.conf.*;
import org.apache.hadoop.io.*;
import org.apache.hadoop.mapred.*;
import org.apache.hadoop.util.*;
//Map function
public void map(LongWritable key, Text value,
OutputCollector<Text, IntWritable> output,
Reporter reporter) throws IOException
{
String line = value.toString();
String lasttoken = null;
StringTokenizer s = new StringTokenizer(line,"\t");
String year = s.nextToken();
while(s.hasMoreTokens())
{
lasttoken=s.nextToken();
}
//Reducer class
public static class E_EReduce extends MapReduceBase
implements
Reducer< Text, IntWritable, Text, IntWritable >
{
//Reduce function
public void reduce( Text key, Iterator <IntWritable>
values,
OutputCollector<Text, IntWritable> output, Reporter
reporter) throws IOException
{
int maxavg=30;
int val=Integer.MIN_VALUE;
while (values.hasNext())
{
if((val=values.next().get())>maxavg)
{
output.collect(key, new IntWritable(val));
}
}
}
}
//Main function
public static void main(String args[])throws Exception
{
JobConf conf = new JobConf(Eleunits.class);
conf.setJobName("max_eletricityunits");
conf.setOutputKeyClass(Text.class);
conf.setOutputValueClass(IntWritable.class);
conf.setMapperClass(E_EMapper.class);
conf.setCombinerClass(E_EReduce.class);
conf.setReducerClass(E_EReduce.class);
conf.setInputFormat(TextInputFormat.class);
conf.setOutputFormat(TextOutputFormat.class);
JobClient.runJob(conf);
}
}
Guardar el programa comoProcessUnits.java.La compilación y la ejecución
del programa se explica a continuación.
Paso 1
Paso 2
Paso 3
Los siguientes comandos se utilizan para la elaboración de
lasProcessUnits.javaprograma java y crear una jarra para el programa.
$ javac -classpath hadoop-core-1.2.1.jar -d units
ProcessUnits.java
$ jar -cvf units.jar -C units/ .
Paso 4
Paso 5
Paso 6
Paso 7
Map-Reduce Framework
Bytes Written=40
Paso 8
Paso 10
Comandos importantes
Hadoop Todos los comandos son invocados por
el$HADOOP_HOME/bin/hadoop. Ejecuta el script Hadoop sin argumentos
imprime la descripción de todos los comandos.
Usage : hadoop [--config confdir] COMANDO
La siguiente tabla detalla las opciones disponibles y su descripción.
Opciones Descripción
GENERIC_OPTIONS Descripción
-Eventos <id de trabajo> Imprime las citas recibidas por los detalles jobtracker para el
<fromevent- #> < # -de rango dado.
eventos>
-Historia [todos] Imprime los detalles del trabajo, error y mató detalles punta.
<jobOutputDir> - historia < Más detalles sobre el trabajo, como tareas y éxito los intentos
jobOutputDir> realizados para cada tarea se pueden ver mediante la
especificación de la opción [todos].
-List [todos] Muestra todos los trabajos. -List muestra sólo los trabajos
que todavía no se han completado.
Intentos fallidos.
De prioridad <id de trabajo> Cambia la prioridad del trabajo. Los valores de prioridad son
<prioridad> permitidos VERY_HIGH, ALTA, NORMAL, BAJA,
VERY_LOW
!/usr/bin/python
import sys
# Input takes from standard input for myline in sys.stdin:
# Remove whitespace either side myline = myline.strip()
# Break the line into words words = myline.split()
# Iterate the words list for myword in words:
# Write the results to standard output print '%s\t%s' %
(myword, 1)
#!/usr/bin/python
from operator import itemgetter
import sys
current_word = ""
current_count = 0
word = ""
# Input takes from standard input for myline in sys.stdin:
# Remove whitespace either side myline = myline.strip()
# Split the input we got from mapper.py word, count =
myline.split('\t', 1)
# Convert count variable to integer
try:
count = int(count)
except ValueError:
# Count was not a number, so silently ignore this line
continue
if current_word == word:
current_count += count
else:
if current_word:
# Write result to standard output print '%s\t%s' %
(current_word, current_count)
current_count = count
current_word = word
# Do not forget to output the last word if needed!
if current_word == word:
print '%s\t%s' % (current_word, current_count)
Guardar el mapa y reductor en los códigos de mapper.py y reductor.py en
Hadoop directorio home. Asegúrese de que estos archivos tienen permisos de
ejecución (chmod +x mapper.py and chmod +x reducer.py). Sangría Como
python es sensible por lo que el mismo código se puede descargar desde el
enlace que aparece a continuación.
Por ejemplo,
Comandos importantes
Parámetros Descripción
Instalación de Java
Java es el principal requisito previo para Hadoop. En primer lugar, debe
comprobar la existencia de java en el sistema utilizando "java -version". La
sintaxis de java versión comando es dada a continuación.
$ java -version
Si todo funciona bien, le dará el siguiente resultado.
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)
Paso 1
Paso 2
Paso 3
Para que java disponible para todos los usuarios, tiene que mover a la
ubicación “/usr/local/”. Abra el root, y escriba los siguientes comandos.
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
Paso 4
La asignación de nodos
Tiene que editar archivo hosts en /etc/ carpeta en todos los nodos, se
especifica la dirección IP de cada sistema seguido por sus nombres de host.
# vi /etc/hosts
enter the following lines in the /etc/hosts file.
192.168.1.109 hadoop-master
192.168.1.145 hadoop-slave-1
192.168.56.1 hadoop-slave-2
Instalar Hadoop
En el servidor maestro, descargue e instale Hadoop usando los siguientes
comandos.
# mkdir /opt/hadoop
# cd /opt/hadoop/
# wget http://apache.mesi.com.ar/hadoop/common/hadoop-
1.2.1/hadoop-1.2.0.tar.gz
# tar -xzf hadoop-1.2.0.tar.gz
# mv hadoop-1.2.0 hadoop
# chown -R hadoop /opt/hadoop
# cd /opt/hadoop/hadoop/
Configuración Hadoop
Usted tendrá que configurar Hadoop server, haciendo los siguientes cambios
como se indica a continuación.
core-site.xml
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml
hadoop-env.sh
$ vi etc/hadoop/masters
hadoop-master
$ vi etc/hadoop/slaves
hadoop-slave-1
hadoop-slave-2
# su hadoop
$ cd /opt/hadoop/hadoop
$ bin/hadoop namenode –format
11/10/14 10:58:07 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = hadoop-master/192.168.1.109
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 1.2.0
STARTUP_MSG: build =
https://svn.apache.org/repos/asf/hadoop/common/branches/branc
h-1.2 -r 1479473; compiled by 'hortonfo' on Mon May 6
06:59:37 UTC 2013
STARTUP_MSG: java = 1.7.0_71
************************************************************/
11/10/14 10:58:08 INFO util.GSet: Computing capacity for map
BlocksMap editlog=/opt/hadoop/hadoop/dfs/name/current/edits
………………………………………………….
………………………………………………….
…………………………………………………. 11/10/14 10:58:08 INFO common.Storage:
Storage directory /opt/hadoop/hadoop/dfs/name has been
successfully formatted. 11/10/14 10:58:08 INFO
namenode.NameNode:
SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop-
master/192.168.1.15
************************************************************/
Redes
mkdir -p $HOME/.ssh
chmod 700 $HOME/.ssh
ssh-keygen -t rsa -P '' -f $HOME/.ssh/id_rsa
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
chmod 644 $HOME/.ssh/authorized_keys
Copy the public key to new slave node in hadoop user $HOME
directory
scp $HOME/.ssh/id_rsa.pub hadoop@192.168.1.103:/home/hadoop/
Para que los cambios surtan efecto, reinicie el equipo o comando hostname a
un nuevo equipo con el respectivo nombre de reiniciar es una buena opción).
El esclavo3 equipo de nodo:
hostname slave3.in
Actualizar el archivo /etc/hostsen todas las máquinas del clúster con las
líneas siguientes:
192.168.1.102 slave3.in slave3
Ahora, intente hacer ping a la máquina con nombres de host para comprobar
si se está resolviendo en IP o no.
En el nuevo equipo de nodo:
ping master.in
$ jps
7141 DataNode
10312 Jps
Una vez que las máquinas han sido clausuradas, se pueden retirar de la
"excluye" archivo. Ejecución de"$HADOOP_HOME/bin/hadoop dfsadmin -
refreshNodes" nuevo a leer la excluye de nuevo en el NameNode; lo que
permite que el DataNodes volver a unirse a un grupo después de la
conservación se ha terminado, o se necesita más capacidad en el clúster
nuevo, etc.
Nota especial: Si el proceso descrito anteriormente es seguido y el
tasktracker proceso todavía está en funcionamiento en el nodo, es necesario
que se cierre. Una manera de hacerlo es para desconectar la máquina como
lo hicimos en los pasos anteriores. El Maestro se reconocerá el proceso
automáticamente y se declaran como muertos. No hay necesidad de seguir el
mismo proceso para la extracción de la tasktracker porque no es tan crucial
como en comparación con el DataNode. DataNode contiene los datos que
desea quitar de forma segura sin ninguna pérdida de datos.
La tasktracker se puede ejecutar/shutdown de la mosca con el siguiente
comando en cualquier momento.
$ $HADOOP_HOME/bin/hadoop-daemon.sh stop tasktracker
$HADOOP_HOME/bin/hadoop-daemon.sh start tasktracker