Cómo actualizar hadoop de 2.6 a 2.7
nn1 es el estado activo, nn2 es el estado de espera, Upgrade.sh es el script de ejecución por lotes
Primero descargue el código fuente de hadoop 2.7.2 y compílelo en hadoop- 2.7.2. tar.gz
¿Instalar una nueva versión de hadoop desde el servidor de registro? ¿Lanzar una nueva versión de hadoop y descomprimirla?
cd /letv/setupHadoop?/upgrade.sh distribuir cluster_nodes hadoop-2.7.2.tar.gz /letv/usr/local?
./upgrade.sh common cluster_nodes " cd /letv/usr/local; tar -xzvf hadoop-2.7.2.tar.gz"
Reemplace todos los archivos en /etc/hadoop en la nueva versión de hadoop con los archivos de configuración en el hadoop original .
./upgrade .sh common cluster_nodes "cd /letv/usr/local/hadoop-2.7.2/etc; rm -rf hadoop; cp -r /usr/local/hadoop/etc/hadoop / letv/ usr/local/hadoop-2.7.2/etc"
I. ¿Prepararse para la actualización continua?
1. ¿Iniciar sesión en nn2 como usuario de hadoop y ejecutar?
"hdfs dfsadmin -rollingUpgrade prepare"
2.
¿"hdfs dfsadmin -rollingUpgrade query"?
Espere hasta que aparezca "Continuar con la actualización continua". Si no aparece, repita el comando anterior
. 3. Después de completar la operación, la información correspondiente aparecerá en la página del puerto 50070 en la parte superior del nodo de nombre, lo que indica que se ha generado el archivo de reversión.
II. ¿Actualizar NameNode activo y en espera y ZKFC?
1. ¿Apagar el Nameenode de respaldo (es decir, nn2 y ZKFC)?
¿Hadoop-daemon.sh detiene el nodo de nombre?
hadoop-daemon.sh detiene zkfc
2. ¿Iniciar nn2 en modo de actualización continua?
¿Cambiar a usuario root?
¿Entonces crear un enlace suave para el nuevo hadoop?
cd /usr/local
rm -rf hadoop
ln -s /letv/usr/local/hadoop-2.6.3 hadoop
chown - R hadoop: hadoop hadoop
Reiniciar namenode y zkfc
hadoop-daemon.
hadoop-daemon.sh iniciar namenode -rollingUpgrade iniciado?
¿hadoop-daemon.sh inicia zkfc?
Una vez completado el inicio, nn2 está en estado de espera
3. Cambie nn1 y nn2 para que nn1 esté en estado de espera (ejecutándose en nn2) y nn2 esté en estado activo.
hdfs haadmin -failover testnn1 testnn2
4. Repita los pasos 1 y 2 en nn1
5. ¿Cambiar nn1 y nn2 para restaurar el estado original?
hdfs haadmin -failover testnn2 testnn1
3. ¿Actualizar el nodo de registro?
La actualización de los nodos de registro debe realizarse uno por uno y no se puede realizar en lotes; de lo contrario, el clúster se bloqueará.
1. Inicie sesión en un nodo de registro (el nuevo administrador de recursos del clúster y el nodo de registro se inician en una máquina, por lo tanto, comience primero desde el administrador de recursos en espera, luego desde el administrador de recursos activo y el orden posterior). no cambiar?
ssh sdf-resourcemanager2
2. ¿Detener el servicio journalnode?
¿hadoop-daemon.sh detiene journalnode?
Detenga el servicio de administrador de recursos (esto es rm2, por lo que este paso se ejecutará. Si el siguiente nodo de diario no existe, no es necesario ejecutar el proceso rm)
3. ¿Instalar una nueva versión de hadoop?
¿Cambiar a usuario root?
¿Entonces crear un enlace suave para el nuevo hadoop?
cd/usr/local?
rm -rf hadoop?
ln -s /letv/usr/local/hadoop-2.7.2 hadoop?
chown - R hadoop: hadoop hadoop
4. ¿Iniciar una nueva versión de journalnode?
hadoop-daemon.sh inicia journalnode.
yarn-daemon.sh inicia el administrador de recursos.
5. Realice las operaciones 1 a 4 en cada nodo de diario. Para máquinas sin procesos de administrador de recursos, no reinicie rm.
Tenga en cuenta que debe esperar hasta que el nodo de registro se haya iniciado por completo antes de realizar la siguiente operación de actualización del nodo de registro. Puede ver los registros o verificar los archivos editados en /data/hadoop/data2/journal_node/test-cluster/current para ver si el servidor que reinició el servicio del nodo de registro está sincronizado con los archivos editados en la misma carpeta en otros nodos de registro. Una vez sincronizado, puedes continuar.
Cuatro. ¿Actualizar los nodos de datos y Nodemanager?
1. Seleccione cualquier nodo de datos (el clúster se puede ejecutar en lotes por rack) y ejecútelo.
hdfs dfsadmin -shutdownDatanode DATANODE_HOTS: ¿actualización 50020?
¿yarn-daemon.sh detiene nodemanager?
Cuando haya terminado, cierre los procesos del nodo de datos y del administrador de nodos.
2. ¿Instalar una nueva versión de hadoop?
¿Cambiar a root?
¿Entonces crear un enlace suave para el nuevo hadoop?
cd /usr/local
rm -rf hadoop
ln -s /letv/usr/local/hadoop-2.7.2 hadoop
chown - R hadoop:hadoop hadoop
3. ¿Iniciar el nodo de datos y el administrador de nodos?
¿Hadoop-daemon.sh inicia el nodo de datos?
¿yarn-daemon.sh inicia el administrador de nodos?
4. ¿Todos los nodos de datos y los nodos del administrador de nodos realizan los pasos 1, 2 y 3?
Después de confirmar que la actualización se completó, ejecute hdfs dfsadmin -rollingUpgrade finalize en nn1 y nn2 para finalizar la operación de actualización. El mensaje de aviso en la página del puerto 50070 de Namenode desaparecerá. Este paso es irreversible; una vez realizado, el archivo rollbackfsimage se convertirá en un archivo fsimage normal y es posible que el clúster no se restaure a su estado previo a la actualización