【精】HDFS的HA系列(三)— 启动ZKFC初始化zookeeper以及相关回调函数

  • Post author:
  • Post category:其他


本文主要内容如下:

① 简要介绍zookeeper Watcher机制和回调接口

② ZKFC启动过程,以及通过图例讲解ZKFC处理zookeeper节点事件的流程。



一、 前置知识:Zookeeper Watcher机制和回调

介绍ZKFC之前,我们先介绍一些与本文相关的Zookeeper的预备知识。



1.1 Watcher机制概述

Zookeeper中有一个Watcher机制,来实现发布/订阅功能。Zookeeper 允许客户端向服务端的某个 Znode 注册一个 Watcher 监听,当服务端的一些特定事件触发了这个 Watcher,服务端会向指定客户端发送一个事件通知来实现分布式的通知功能,然后客户端根据 Watcher 通知状态和事件类型做出业务上的改变。

工作过程:

(1)客户端注册 Watcher

(2)服务端处理 Watcher

(3)客户端回调 Watcher

Watcher机制特性总结:

(1)一次性

无论是服务端还是客户端,一旦一个 Watcher被触发 ,Zookeeper 都会将其从相应的存储中移除。如果需要一直监听,则需要再注册。这样的设计有效的减轻了服务端的压力,不然对于更新非常频繁的节点,服务端会不断的向客户端发送事件通知,无论对于网络还是服务端的压力都非常大。

(2)客户端串行执行

客户端 Watcher 回调的过程是一个串行同步的过程。

(3)轻量

3.1 Watcher 通知非常简单ÿ



版权声明:本文为yexiguafu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。