Support Questions

Find answers, ask questions, and share your expertise

ZKFC maintains session for namenode in zookeeper

avatar
Explorer

How does the ZKFC running in the namenode server maintain a open session in zookeeper?

1 ACCEPTED SOLUTION

avatar
Expert Contributor

When the local NameNode is healthy, the ZKFC holds a session open in ZooKeeper. If the local NameNode is active, it also holds a special “lock” znode. This lock uses ZooKeeper’s support for “ephemeral” nodes; if the session expires, the lock node will be automatically deleted.

Ephemeral znodes - These znodes exists as long as the session that created the znode is active. When the session ends the znode is deleted. Zookeeper has a concept of Watches which can be set on znodes to track them for any changes.

Check the link how Watches work in zookeeper -

https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkWatches

View solution in original post

1 REPLY 1

avatar
Expert Contributor

When the local NameNode is healthy, the ZKFC holds a session open in ZooKeeper. If the local NameNode is active, it also holds a special “lock” znode. This lock uses ZooKeeper’s support for “ephemeral” nodes; if the session expires, the lock node will be automatically deleted.

Ephemeral znodes - These znodes exists as long as the session that created the znode is active. When the session ends the znode is deleted. Zookeeper has a concept of Watches which can be set on znodes to track them for any changes.

Check the link how Watches work in zookeeper -

https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkWatches