Zookeeper
Apache ZooKeeper是由集群(节点组)使用的一种服务,用于在自身之间协调,并通过稳健的同步技术维护共享数据。ZooKeeper本身是一个分布式应用程序,为写入分布式应用程序提供服务。
ZooKeeper提供的常见服务如下 :
-
命名服务 - 按名称标识集群中的节点。它类似于DNS,但仅对于节点。
-
配置管理 - 加入节点的最近的和最新的系统配置信息。
-
集群管理 - 实时地在集群和节点状态中加入/离开节点。
-
选举算法 - 选举一个节点作为协调目的的leader。
-
锁定和同步服务 - 在修改数据的同时锁定数据。此机制可帮助你在连接其他分布式应用程序(如Apache HBase)时进行自动故障恢复。
-
高度可靠的数据注册表 - 即使在一个或几个节点关闭时也可以获得数据。
分布式应用程序提供了很多好处,但它们也抛出了一些复杂和难以解决的挑战。ZooKeeper框架提供了一个完整的机制来克服所有的挑战。竞争条件和死锁使用故障安全同步方法进行处理。另一个主要缺点是数据的不一致性,ZooKeeper使用原子性解析。
ZooKeeper的好处
以下是使用ZooKeeper的好处:
-
简单的分布式协调过程
-
同步 - 服务器进程之间的相互排斥和协作。此过程有助于Apache HBase进行配置管理。
-
有序的消息
-
序列化 - 根据特定规则对数据进行编码。确保应用程序运行一致。这种方法可以在MapReduce中用来协调队列以执行运行的线程。
-
可靠性
-
原子性 - 数据转移完全成功或完全失败,但没有事务是部分的。
下载地址 下载
2、在主目录下创建data和logs两个文件夹,用于存放数据和日志文件
3、进入conf目录、拷贝zoo_sample.cfg文件并新命名为zoo.cfg
4、修改配置文件信息:zoo.cfg
zookeeper图形化的客户端工具
1、zookeeper图像化客户端工具的下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip
2、下载完后解压压缩包,打开地址为ZooInspector\build\zookeeper-dev-ZooInspector.jar的jar包;
参考资料:
官网的:
http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html
API 文档:
http://zookeeper.apache.org/doc/r3.4.6/api/
别人介绍的一些流程:
http://cailin.iteye.com/blog/2014486
常用的场景:
http://nileader.blog.51cto.com/1381108/1040007