我的大数据之路(二):从zookeeper说起

由于zookeeper在hadoop中只是扮演一个应用程序协调服务的角色,提高hdfs和hbase集群节点的稳定和高效性,所以这里只捡些重要的点来说。后面再来补齐源码分析。

1、fast-paxos算法(选举算法)

基本的原理是每个节点都充当自己的推荐人推荐自己当leader,如果有别的候选者的评分比自己高则推荐评分高的znode(评分一般提取znode的zxid或者最后修改时间),最后选出一个leader。

2、znode

zookeeper中的每个目录树节点对应一个znode,znode保存有需要获取的数据,创建的监听器watcher的监视对象。

3、watcher

监视器,监视znode,一旦znode发生变动(比如添加子节点)就会触发watcher。

3、barrier

zookeeper可以实现barrier,顾名思义它会阻塞某个znode节点上所有的等待线程。知道条件被满足才放行。

4、consumer-producer队列

zookeeper的znode除了能实现barrier还能实现生产者消费者队列。

5、分布式锁

把每一个znode看成一个锁,data存储客户端IP,只有这个IP对应的客户端才能获取锁。

你可能感兴趣的:(大数据,JAVA学习)