Introducción a la administración Hadoop

Introducción a la administración Hadoop

  • ITOps y DevOps
6 min de lectura Actualizado Apr 25, 2017

Puntos clave: Una introducción a la administración Hadoop cubre tareas clave de gestión para clústeres Hadoop, centrándose en seguridad, ajuste de rendimiento y gestión de nodos de datos. Destaca la importancia de mantener una alta disponibilidad y ofrece orientación sobre el uso de interfaces web para monitorización.

  • Las tareas comunes incluyen monitorizar el estado del clúster y añadir nodos de datos.
  • Las características de seguridad incluyen la autenticación Kerberos y configuraciones de cifrado de datos.

Aquí explicamos algunas de las tareas administrativas más comunes de Hadoop. Son muchas, así que solo hablamos de algunas de las principales. Se está animado al lector a consultar la documentación de Apache Hadoop para profundizar más en cada tema.

A medida que te procesar algunos comandos y tareas de administrador, te saber que cada versión de Hadoop están ligeramente diferente. Tienden a cambiar algunos nombres de scripts de comandos. En este ejemplo son usando Hadoop 2.7.3.

te necesitarás una configuración de clúster Hadoop para trabajar con este material. Sigue nuestras instrucciones aquí sobre cómo configurar un clúster. No están suficiente con ejecutar una instalación Hadoop solo local si te quieres conoce algunas tareas administrativas.

play

Tareas administrativas comunes

Aquí son algunas de las tareas administrativas más comunes:

  • Supervisa la salud del cúmulo
  • Añadir nuevos nodos de datos según sea necesario
  • Opcionalmente, activar la seguridad
  • Opcionalmente, activar el cifrado
  • Recomendado, pero opcional, activar la alta disponibilidad
  • Opcional para activar el servidor de seguimiento del historial de trabajos de MapReduce
  • Arreglar bloques de datos corruptos cuando sea necesario
  • Interpretación de la melodía

A continuación hablamos de algunas de estas tareas.

Activa la seguridad

Por defecto, Hadoop está configurado sin seguridad. Para ejecutar Hadoop en modo seguro, cada usuario y servicio se autentica con Kerberos. Kerberos está integrado en Windows y se está fácilmente añadido a Linux.

En cuanto a Hadoop, los nodos utilizan RPC (llamadas a procedimientos remotos) para ejecutar comandos en otros servidores. te pueden configurar dfs.encrypt.data.transfer y hadoop.rpc.protection para Cifra transferencia de datos y llamadas a procedimientos remotos.

Para Cifra los datos en reposo, el administrador tendría que configurar una Clave de Cifrado, una Zona de Cifrado HDFS y Servicios de Gestor de Claves de Ranger, junto con la configuración de usuarios y roles.

URLs de la interfaz web de Hadoop

Las URLs más comunes te utiliza con Hadoop son:

Nodo de Nombre http://localhost:50070
Gestor de Recursos de Hilos http://localhost:8088
Servidor MapReduce JobHistory http://localhost:19888

Estas pantallas son mostradas a continuación.

Pantalla principal de NameNode

Gestor de Recursos de Hilos

Servidor de Historial de Trabajos MapReduce

Servidor de historial de empleos MapReduce

Configura alta disponibilidad

La Alta Disponibilidad establece dos dos Nodos Nombres redundantes en una configuración Activo/Pasivo con un modo de espera activo. Sin esto, si el Nodo Nombre se bloquea, el clúster no puede usarse hasta que se están recuperado el Nodo. Con HA, el administrador puede hacer un cambio por error al segundo Nodo en caso de fallo.

Ten en cuenta que el SecondaryNameNode que se ejecuta en el cluster master no están un servidor NameNode de HA. Los servidores NameNode primario y secundario trabajan juntos, por lo que el secundario no puede usarse como mecanismo de conmutación por error.

La configuración de HA te establecer dfs.nameservices y dfs.ha.namenodes.[ nameservice ID] en hdfs-site.xml así como su dirección IP y el puerto y montar un directorio NFS entre las máquinas para que puedan compartir una carpeta común.

te ejecutar comandos administrativos usando la línea de control:

    hdfs haadmin

El servidor de historial de trabajos MapReduce no está instalado por defecto. La configuración y cómo Comienza se están mostrados a continuación.

    cat /usr/local/hadoop/hadoop-2.7.3//etc/hadoop/mapred-site.xml


 
mapred.job.tracker
localhost:9001


mapreduce.jobhistory.address
localhost:10020

 
mapreduce.jobhistory.webapp.address
localhost:19888

Comienza el servidor de historial de trabajos MapReduce con el siguiente comando:

    $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh --config 
$HADOOP_HOME/etc/hadoop start historyserver
starting historyserver, logging to 
/usr/local/hadoop/hadoop-2.7.3//logs/mapred-hadoop-historyserver-hp.out

Y consultalo así:

    curl http://localhost:19888/ws/v1/history/info

{"historyInfo":{"startedOn":1492004745263,"hadoopVersion":"2.7.3","hadoopBuildVersion":"2.7.3 from baa91f7c6bc9cb92be5982de4719c1c8af91ccff by root source checksum 2e4ce5f957ea4db193bce3734ff29ff4","hadoopVersionBuiltOn":"2016-08-18T01:41Z"}}

O simplemente inicia sesión en la página web.

Añadir datanode

te puede añadir un datanode sin tener que detener Hadoop.

Los pasos básicos son Crea al usuario de Hadoop y luego configura claves ssh sin contraseña para que el usuario pueda usar SSH de un servidor a otro sin tener que introducir contraseña. Actualiza los archivos /etc/hosts para añadir el nombre de host a todas las máquinas del clúster. Luego te comprimir y copiar todo el directorio $HADOOP_HOME en el maestro a la misma máquina destino en el mismo directorio.

Luego te añadir el nuevo datanode a $HADOOP_HOME/etc/hadoop/slaves.

Luego ejecuta este comando en el nuevo datanode:

    hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanode

Ahora te debería poder Ve que aparezca cuando te imprimir la topología:

    hdfs dfsadmin -printTopology

192.168.1.83:50010 (hadoop-slave-1)
192.168.1.85:50010 (hadoop-slave-2)

Run Pig Mapreduce trabajo

Aquí están un script Pig te puede ejecutarse para generar un trabajo MapReduce y así te pueda tener un trabajo que rastrear. (Si te no tiene instalado pig te puede consultar https://www.bmc.com/blogs/hadoop-apache-pig/)

Primero Crea este archivo sales.csv

    Dallas,Jane,20000
Houston,Jim,75000
Houston,Bob,65000
New York,Earl,40000
Dallas,Fred,40000
Dallas,Jane,20000
Houston,Jim,75000

te puede copiar el archivo varias veces para Crea un archivo muy grande, así te tendrá una tarea que durará unos minutos.

Luego cópialo del sistema de archivos local a Hadoop.

    hadoop fs -copyFromLocal /data

Comprueba que están ahí:

    hadoop fs -cat /user/sales.csv

Ejecuta Pig. Pig sin opciones de línea de comandos ejecuta Pig en modo cluster (también conocido como MapReduce).

Pega este guion:

    a = LOAD '/data/sales.csv' USING PigStorage(',') AS (shop:chararray,employee:chararray,sales:int);

Dump a
Describe a

b = group a by employee;

results = FOREACH b generate SUM(a.sales) as sum, a.employee;

Luego te puede revisar las diferentes pantallas para ver si hay datos de puestos.

Comandos CLI comunes

Para y Comienza Hadoop. start_dfs.sh start_yarn.sh
Formatea HDFS. $HADOOP_HOME/bin/hdfs namenode -format
Desactiva el modo seguro. hadoop dfsadmin -safemode leave
Enumera procesos. jps Namenode jobs: 26961 RunJar 28916 SecondaryNameNode 24121 JobHistoryServer 29403 Jps 28687 NameNode 29135 ResourceManagerTrabajos de datanode; 4231 Jps 3929 DataNode 4077 NodeManager
Corromper bloques de datos. Encontrar bloques perdidos. hdfs fsck /

Monitorización de la salud de los gestores de nodos

yarn.nodemanager.health-checker.script.path Ruta del script y nombre del archivo.
yarn.nodemanager.health-checker.script.opts Opciones de línea de comandos.
Command line options. Frecuencia de ejecución
checker.script.interval-ms
checker.script.interval-ms Tiempo muerto.

Otras tareas administrativas comunes

Configurar la agregación de logs.
Configura la conciencia del rack.
Configura el balanceo de carga entre nodos de datos.
Actualiza a una versión más nueva.
Utiliza cacheadmin para gestionar la caché centralizada de Hadoop.
Haz fotos.
Configura los permisos de usuario y el control de acceso.

Problemas comunes

No se están recomendable utilizar localhost como URL para el sistema de archivos Hadoop en el localhost. Eso hará que se vincule a 127.0.0.1 en lugar de a la dirección IP enrutable de la máquina. Luego, en Pig te Obtén este error:

    pig java.net.connectexception connection refused localhost:9000

Así que configura la dirección IP de enlace a 0.0.0.0 en etc/hadoop/core-site.xml:

    fs.defaultFS 
hdfs://0.0.0.0:9000/

Servidor WebAppProxy

Configurar el servidor WebAppProxy están un problema de seguridad. te puede utiliza que configure un servidor proxy entre maestros y esclavos. Bloquea a los usuarios para que no usen la URL de Yarn para hackear. El usuario de Yarn tiene privilegios elevados, lo que están por qué están un riesgo. Muestra una advertencia están alguien accede a él y elimina las cookies que podrían usarse en un ataque.

¿Qué hacer a partir de aquí

Se está animado al usuario a leer más a fondo los temas mencionados en este documento y, en particular, en la sección de Otras Tareas Administrativas Comunes, ya que están allí son herramientas y problemas de ajuste y mantenimiento que seguro se convertirán en problemas mientras trabajan para mantener un sistema de producción y solucionar todos los problemas asociados.

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de ITOps y DevOps

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.