- 3
- 0
- 约4.15千字
- 约 5页
- 2017-02-09 发布于北京
- 举报
HBase源码分析Master启动过程
构造函数:
创建RPC服务:
创建Listener,主要负责为处理线程创建job,该Listener会创建读取线程(Reader),线程个数为ipc.server.read.threadpool.size,Reader判断Selector中是否有数据,如果有,则把数据读出,然后加入到call队列或者优先队列中。
创建HbaseRpcMetric,负责统计数据收集
创建Responder,responder负责将服务端的reponser数据异步写给客户端
启动处理线程组(分为一般的处理线程组和优先的处理线程组,代码上没看到区别),每一个线程组从call队列中读取数据,并调用对应的call方法(具体由客户端设定),处理完以后把每一个call的处理结果加入到responder会处理的responseQueue队列中
创建ZooKeeperWatcher,观察hbase节点,以及hbase下面的master节点,unassigned节点,rs节点,table节点
创建MasterMetric对象
Thread.run():
基于ZooKeeperWatcher创建一个ActiveMasterManager,加入到zookeeper的listener队列中,用于监视zookeeper节点状态
如果是备份节点
通过zookeeper监控节点状态,去写master的地址到zookeeper节点:
原创力文档

文档评论(0)