hadoop Tutorial
Empezando con hadoop
Buscar..
Observaciones
¿Qué es Apache Hadoop?
La biblioteca de software Apache Hadoop es un marco que permite el procesamiento distribuido de grandes conjuntos de datos en grupos de computadoras utilizando modelos de programación simples. Está diseñado para escalar desde servidores individuales a miles de máquinas, cada una ofrece computación y almacenamiento locales. En lugar de confiar en el hardware para ofrecer alta disponibilidad, la biblioteca en sí está diseñada para detectar y manejar fallas en la capa de aplicación, por lo que ofrece un servicio de alta disponibilidad sobre un grupo de computadoras, cada una de las cuales puede ser propensa a fallas.
Apache Hadoop incluye estos módulos:
- Hadoop Common : las utilidades comunes que admiten los otros módulos de Hadoop.
- Sistema de archivos distribuidos de Hadoop (HDFS) : un sistema de archivos distribuidos que proporciona acceso de alto rendimiento a los datos de la aplicación.
- Hadoop YARN : un marco para la planificación de tareas y la gestión de recursos de clúster.
- Hadoop MapReduce : un sistema basado en YARN para el procesamiento paralelo de grandes conjuntos de datos.
Referencia:
Versiones
Versión | Notas de lanzamiento | Fecha de lanzamiento |
---|---|---|
3.0.0-alfa1 | 2016-08-30 | |
2.7.3 | Haga clic aquí - 2.7.3 | 2016-01-25 |
2.6.4 | Haga clic aquí - 2.6.4 | 2016-02-11 |
2.7.2 | Haga clic aquí - 2.7.2 | 2016-01-25 |
2.6.3 | Haga clic aquí - 2.6.3 | 2015-12-17 |
2.6.2 | Haga clic aquí - 2.6.2 | 2015-10-28 |
2.7.1 | Haga clic aquí - 2.7.1 | 2015-07-06 |
Instalación o configuración en Linux
Un procedimiento de configuración de clúster pseudo-distribuido
Prerrequisitos
Instale JDK1.7 y establezca la variable de entorno JAVA_HOME.
Crea un nuevo usuario como "hadoop".
useradd hadoop
Configuración de inicio de sesión SSH sin contraseña en su propia cuenta
su - hadoop ssh-keygen << Press ENTER for all prompts >> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
Verificar realizando
ssh localhost
Deshabilite IPV6 editando
/etc/sysctl.conf
con lo siguiente:net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
Compruebe que utilizando
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
(debe devolver 1)
Instalacion y configuracion:
Descargue la versión requerida de Hadoop desde los archivos de Apache usando el comando
wget
.cd /opt/hadoop/ wget http:/addresstoarchive/hadoop-2.x.x/xxxxx.gz tar -xvf hadoop-2.x.x.gz mv hadoop-2.x.x.gz hadoop (or) ln -s hadoop-2.x.x.gz hadoop chown -R hadoop:hadoop hadoop
Actualice
.bashrc
/.kshrc
función de su shell con las siguientes variables de entornoexport HADOOP_PREFIX=/opt/hadoop/hadoop export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop export JAVA_HOME=/java/home/path export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$JAVA_HOME/bin
En el
$HADOOP_HOME/etc/hadoop
edite debajo de los archivoscore-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> </configuration>
mapred-site.xml
Crea
mapred-site.xml
desde su plantillacp mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
hilo-sitio.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/hadoop/hdfs/datanode</value> </property> </configuration>
Cree la carpeta principal para almacenar los datos de hadoop
mkdir -p /home/hadoop/hdfs
Formato NameNode (limpia el directorio y crea los meta archivos necesarios)
hdfs namenode -format
Inicia todos los servicios:
start-dfs.sh && start-yarn.sh mr-jobhistory-server.sh start historyserver
En su lugar, use start-all.sh (en desuso).
Compruebe todos los procesos en ejecución de Java
jps
Interfaz Web de Namenode: http: // localhost: 50070 /
Interfaz web del administrador de recursos: http: // localhost: 8088 /
Para detener demonios (servicios):
stop-dfs.sh && stop-yarn.sh mr-jobhistory-daemon.sh stop historyserver
En su lugar, use stop-all.sh (en desuso).
Instalación de Hadoop en ubuntu
Creando Usuario Hadoop:
sudo addgroup hadoop
Añadiendo un usuario:
sudo adduser --ingroup hadoop hduser001
Configurando SSH:
su -hduser001
ssh-keygen -t rsa -P ""
cat .ssh/id rsa.pub >> .ssh/authorized_keys
Nota : Si obtiene errores [ bash: .ssh / authorized_keys: No existe dicho archivo o directorio ] mientras escribe la clave autorizada. Compruebe aquí .
Añadir usuario de hadoop a la lista de sudoers:
sudo adduser hduser001 sudo
Deshabilitando IPv6:
Instalación de Hadoop:
sudo add-apt-repository ppa:hadoop-ubuntu/stable
sudo apt-get install hadoop
Visión general de Hadoop y HDFS
- Hadoop es un marco de software de código abierto para almacenamiento y procesamiento a gran escala de conjuntos de datos en un entorno informático distribuido. Está patrocinado por la Apache Software Foundation. Está diseñado para escalar desde servidores individuales a miles de máquinas, cada una ofrece computación y almacenamiento locales.
- Hadoop fue creado por Doug Cutting y Mike Cafarella en 2005.
- Cutting, que trabajaba en Yahoo! en ese momento, lo nombró por el juguete del elefante de su hijo.
- Originalmente fue desarrollado para soportar la distribución del proyecto del motor de búsqueda.
- Sistema de archivos distribuidos de Hadoop (HDFS): un sistema de archivos distribuidos que proporciona acceso de alto rendimiento a los datos de la aplicación. Hadoop MapReduce: un marco de software para el procesamiento distribuido de grandes conjuntos de datos en clusters de cómputo.
- Muy tolerante a fallos. Alto rendimiento. Adecuado para aplicaciones con grandes conjuntos de datos. Puede ser construido de hardware de los productos básicos.
- Arquitectura maestro / esclavo. El clúster HDFS consta de un solo Namenode, un servidor maestro que administra el espacio de nombres del sistema de archivos y regula el acceso de los clientes a los archivos. Los DataNodes administran el almacenamiento adjunto a los nodos en los que se ejecutan. HDFS expone un espacio de nombres del sistema de archivos y permite que los datos del usuario se almacenen en archivos. Un archivo se divide en uno o más bloques y el conjunto de bloques se almacena en DataNodes. DataNodes: sirve para leer, escribir solicitudes, realizar la creación, eliminación y replicación de bloques siguiendo instrucciones de Namenode.
- HDFS está diseñado para almacenar archivos muy grandes a través de máquinas en un grupo grande. Cada archivo es una secuencia de bloques. Todos los bloques en el archivo, excepto el último, son del mismo tamaño. Los bloques se replican para tolerancia a fallos. El Namenode recibe un Heartbeat y un BlockReport de cada DataNode en el clúster. BlockReport contiene todos los bloques en un Datanode.
- Comandos comunes utilizados: -
- ls Uso: hadoop fs –ls Ruta (dir / archivo ruta a lista). Uso del gato : hadoop fs -cat PathOfFileToView
Enlace para los comandos de shell hadoop: - https://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-common/FileSystemShell.html