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.
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.
Guía Hadoop
- Tutorial de Hadoop para principiantes: Conceptos básicos de Hadoop
- Introducción a la administración Hadoop
- Introducción a la seguridad Hadoop
- Introducción al Apache Flume
- Una introducción a Hive
- Introducción a HDFS
- Introducción a Hbase
- Ejemplos de Hadoop: 5 casos de utiliza en el mundo real
- Carreras en Hadoop: Conseguir empleo
- Preguntas de entrevista en Hadoop
- Introducción a la analítica Hadoop
- Introducción a Apache Pig
- Introducción al hilo apache
- Introducción a la arquitectura Hadoop
- Ventajas y ventajas de Hadoop
- Usando Hadoop con Apache Cassandra
- Hadoop vs Kubernetes: ¿Acabarán K8s y Cloud Native con Hadoop?
- Certificaciones Hadoop
- Clústeres Hadoop: Una introducción
- Ecosistema y Componentes Hadoop
Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.