es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cuál es este error en spark-submit por HDFS HA yarn?

Aquí está mi registro de errores:

$ /spark-submit –master yarn –deploy-mode cluster pi.py

2021-12-23 01:31:04,330 INFO retry.RetryInvocationHandler: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): La categoría de operación WRITE no es compatible en el estado de espera. Visite https://s.apache.org/sbnn-error
en org.apache.hadoop.hdfs.server.namenode.ha.StandbyState.checkOperation(StandbyState.java:88)
en org.apache.hadoop.hdfs.server.namenode.NameNode$NameNodeHAContext.checkOperation(NameNode.java:1954)
en org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkOperation(FSNamesystem.java:1442)
en org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setPermission(FSNamesystem.java:1895)
en org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.setPermission(NameNodeRpcServer.java:860)
en org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.setPermission(ClientNamenodeProtocolServerSideTranslatorPB.java:526)
en org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
en org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:524)
en org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1025)
en org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:876)
en org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:822)
en java.security.AccessController.doPrivileged(Native Method)
en javax.security.auth.Subject.doAs(Subject.java:422)
en org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730)
en org.apache.hadoop.ipc.Server$Handler.run(Server.java:2682)
, mientras se invocaba el método ClientNamenodeProtocolTranslatorPB.setPermission en master/172.17.0.2:8020. Intentando realizar el failover inmediatamente.

¿Por qué obtengo este error??

NOTA. El maestro de Spark se ejecuta en ‘master’, por lo que el comando spark-submit se ejecuta en ‘master’.

NOTA. Los trabajadores de Spark se ejecutan en ‘worker1’, ‘worker2’ y ‘worker3’.

NOTA. El Administrador de Recursos se ejecuta en ‘master’ y ‘master2’.

ADVERTENCIA. Al imprimir el registro de error anterior, el controlador DFSZKFailoverController de master2 desaparece según el resultado del comando jps.

ADVERTENCIA. Al imprimir el registro de error anterior, el Namenode de master desaparece según el resultado del comando jps.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El registro de errores indica que la categoría de operación WRITE no es compatible en el estado en espera (standby) del NameNode de Hadoop. Esto suele ocurrir en una configuración de alta disponibilidad donde hay múltiples NameNodes y uno de ellos está en modo de espera. Cuando se intenta realizar una operación WRITE en el nodo en espera, se lanza una StandbyException.

    En este caso, parece que el Spark master se está ejecutando en el mismo nodo que el ResourceManager, que también está ejecutando un NameNode en espera. Para resolver el problema, puedes intentar seguir los siguientes pasos:

    1. Verifica el estado de los NameNodes utilizando el comando HDFS hdfs haadmin -getServiceState.
    2. Verifica el estado del DFSZKFailoverController del nodo en espera utilizando el comando jps. Debe estar en ejecución en el nodo ResourceManager.

    3. Verifica el estado del Namenode del master utilizando el comando jps. Debe estar en ejecución en el nodo Spark master.

    4. Asegúrate de que el nodo en espera esté en estado activo antes de enviar el trabajo de Spark. Puedes realizar un failover manual del NameNode utilizando el comando hdfs haadmin -failover.

    5. Alternativamente, puedes intentar ejecutar el trabajo de Spark en modo cliente en lugar de modo clúster, lo que debería evitar el nodo en espera y comunicarse directamente con el NameNode activo.

    Si ninguno de los pasos anteriores funciona, es posible que debas investigar más a fondo y examinar las configuraciones de Hadoop y Spark para identificar cualquier problema con la configuración de alta disponibilidad.

Comments are closed.