Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ MapReduce Service/ Descripción general del servicio/ Componentes/ ZooKeeper/ Relación entre ZooKeeper y otros componentes
Actualización más reciente 2023-04-14 GMT+08:00

Relación entre ZooKeeper y otros componentes

Relación entre ZooKeeper y HDFS

Figura 1 muestra la relación entre ZooKeeper y HDFS.

Figura 1 Relación entre ZooKeeper y HDFS

Como cliente de un clúster de ZooKeeper, ZKFailoverController (ZKFC) supervisa el estado de NameNode. ZKFC solo se implementa en el nodo donde reside NameNode y en el NameNodes HDFS activo y en espera.

  1. El ZKFC se conecta a ZooKeeper y guarda información como nombres de host en ZooKeeper bajo el directorio de znode /hadoop-ha. NameNode que crea el directorio primero se considera como el nodo activo, y el otro es el nodo en espera. NameNodes lee la información de NameNode periódicamente a través de ZooKeeper.
  2. Cuando el proceso del nodo activo finaliza de forma anormal, NameNode en espera detecta cambios en el directorio /hadoop-ha a través de ZooKeeper y, a continuación, se hace cargo del servicio del NameNode activo.

Relación entre ZooKeeper y YARN

Figura 2 muestra la relación entre ZooKeeper y YARN.

Figura 2 Relación entre ZooKeeper y YARN
  1. Cuando se inicia el sistema, ResourceManager intenta escribir información de estado en el ZooKeeper. ResourceManager que escribe primero información de estado en ZooKeeper se selecciona como ResourceManager activo, y otros son ResourceManagers en espera. Los ResourceManagers en espera monitorean periódicamente la información de elección activa de ResourceManager en ZooKeeper.
  2. El ResourceManager activo crea el directorio Statestore de ZooKeeper para almacenar la información de la aplicación. Si el ResourceManager activo es defectuoso, el ResourceManager en espera obtiene la información de la aplicación del directorio Statestore y restaura los datos.

Relación entre ZooKeeper y HBase

Figura 3 muestra la relación entre ZooKeeper y HBase.

Figura 3 Relación entre ZooKeeper y HBase
  1. HRegionServer se registra en ZooKeeper en el nodo Efímero. ZooKeeper almacena la información de HBase, incluidos los metadatos de HBase y las direcciones HMaster.
  2. HMaster detecta el estado de salud de cada HRegionServer usando ZooKeeper y los monitorea.
  3. HBase admite varios nodos HMaster (como NameNodes HDFS). Cuando el HMatser activo está defectuoso, el HMaster en espera obtiene la información de estado de todo el clúster mediante ZooKeeper. Es decir, el uso de ZooKeeper puede evitar HBase SPOFs.

Relación entre ZooKeeper y Kafka

Figura 4 muestra la relación entre ZooKeeper y Kafka.

Figura 4 Relación entre ZooKeeper y Kafka
  1. Broker utiliza ZooKeeper para registrar la información de broker y elegir partition leader.
  2. El consumidor usa ZooKeeper para registrar información del consumidor, incluida la lista de particiones del consumidor. Además, se utiliza ZooKeeper para descubrir la lista de broker, establecer una conexión de socket con partition leader y obtener mensajes.