Tiempo de inactividad del nodo maestro de Hadoop y solución del segundo nodo

Tengo tres especializaciones importantes en datos. La semana pasada aprendí cómo construir un entorno hadoop. Después de configurar la ip estática y compilar el clúster distribuido de hadoop, comience a compilar el software Zookeeper y luego compile el entorno hbase ( https://blog.csdn.net/master_hunter/article/details/108704148 ). Tengo muchas preguntas poco claras en este campo y es posible que haya algunos errores en el artículo. Espero que pueda corregirme en el área de comentarios. Los errores de este artículo se corregirán y mantendrán continuamente.

Escena del proyecto:

Después de instalar Hbase, planeo construir un almacén de datos (Hive). Después de instalar Hive, al instalar Mysql, descubrí que no se podían iniciar todos los servicios de los hdfs de hadoop. Ingresé al directorio de hadoop y descubrí que solo se ingresó conf.empty. Todos los archivos de configuración ingresados ​​con un sufijo. rpmsave. Personalmente, creo que debería ser causado por una configuración de ruta incorrecta cuando rpm.


Descripción del problema:

Cuando no se encuentra el comando de Hadoop, hdfs no tiene respuesta. Solo se ingresa el archivo conf.empty en el directorio hadoop y todos los archivos de configuración ingresados ​​tienen el sufijo .rpmsave.


Análisis de causa:

 

Puede deberse a una configuración de entorno incorrecta HADOOP_HOME = / usr / local / hadoop path al configurar Hive, o al escribir el comando incorrecto en rpmsql.


solución:

Use el hadoop2 del secondnamenode para iniciar el servicio para solucionarlo. El hadoop1 del que originalmente hice una copia de seguridad aún no ha construido hbase y zookeeper, así que recordaré hacer una copia de seguridad de hadoop dinámicamente en tiempo real en el futuro (lágrimas).

Clone hadoop2 y cambie el nombre a hadoop1, y modifique el nombre de host de su nodo después de ingresar hadoop1

/ etc / sysconfig / network

Cambie hadoop2 a hadoop1, y luego debe borrar la información del directorio de escritura de datos de DataNode (porque hay información de número de DataNode en el directorio, si no se borra, solo se puede iniciar un DataNode)

rm -rf / datos / dn / *

Configure la dirección mac del hadoop1 clonado

vi / etc / sysconfig / network-scripts / ifcfg-eth0

mac se puede ver en la configuración de red de la máquina virtual

Recuerde cambiar la puerta de enlace después de la modificación

rm -rf /etc/udev/rules.d/70-persistent-net.rules

Después de reiniciar, modifique el /etc/udev/rules.d/70-persistent-net.rules recién generado a NAME = "eth0".

En este momento, de acuerdo con el principio de mapeo de hadoop, hadoop1 debería haber sido identificado y el servicio de namenode debería estar activado. El hadoop1 clonado de acuerdo con la función de copia de seguridad en frío del segundo nodo retrocederá al estado original de hadoop1, pero ingrese a otros nodos para verificar que otros servicios se pueden iniciar normalmente pero el DataNode no puede iniciarse.

Primero pause todos los servicios de nodo (cierre los servicios correspondientes según los servicios implementados en otras máquinas virtuales)

servicio hadoop-hdfs-datanode stop

servicio hadoop-yarn-resourcemanager stop

servicio hadoop-mapreduce-historyserver stop

servicio hadoop-hdfs-namenode stop

servicio hadoop-hdfs-secondarynamenode stop

Luego elimine / data / dn / current en hadoop1, hadoop2 y hadoop3, y ejecute los siguientes comandos

rm -rf / datos / dn / actual

Secuencia de inicio: namenode ——> secondnamenode ——> all datanode ——> recourcemanager ——> nodemanager de todas las máquinas ——> historyserver.

Luego, inicie el servicio correspondiente del nodo y descubra que hadoop1 se puede usar normalmente. problema resuelto

 

 

Supongo que te gusta

Origin blog.csdn.net/master_hunter/article/details/108749468
Recomendado
Clasificación