精品为您呈现,快乐和您分享!
收藏本站
类型:编程开发 语言:简体
大小:692KB 更新时间:2017-09-20
推荐指数:
应用简介
Zookeeper.jar是开发java时非常重要的jar包。在开发java时使用zookeepere框架可以让开发过程更加方便简单。如果您的软件包库中缺少zookeeper.jar,请立即下载并使用它。
Zookeeper.jar是Java开发时非常重要的jar包。使用Java开发时,使用zookeepere框架可以让开发过程更加方便简单。如果您的软件包库中缺少zookeeper.jar,请立即下载并使用它。
基本介绍
ZooKeeper是一个分布式、开源的分布式应用程序协调服务。它是Google的Chubby的开源实现,也是Hadoop和Hbase的重要组件。它是一个为分布式应用程序提供一致服务的软件。提供的功能包括:配置维护、域名服务、分布式同步、群组服务等。
ZooKeeper的目标是封装复杂且容易出错的关键服务,为用户提供简单易用的界面和性能高效、功能稳定的系统。
ZooKeeper 包含一组简单的原语,为Java 和C 提供接口。
ZooKeeper代码版本提供了分布式排它锁、选举和队列的接口。代码位于zookeeper-3.4.3\src\recipes中。分配锁和队列有Java和C两个版本,选举只有Java版本。
工作准则
ZooKeeper 基于Fast Paxos 算法。 Paxos算法存在活锁问题,即多个提议者以交错的方式提交时,可能会出现互斥的情况,没有一个提议者能够提交成功。不过Fast Paxos做了一些优化并通过了选举。领导者产生了。只有领导者才能提交提议者。具体算法可以参见Fast Paxos。因此,想要了解ZooKeeper,首先要了解Fast Paxos。
工作过程
1. 选举领导人。
2. 同步数据。
3.选举Leader的过程有多种算法,但要满足的选举标准是相同的。
4、Leader必须有最高的执行ID,类似于root权限。
5. 集群中的大多数机器都会收到响应并跟随选定的Leader。
框架特点
在Zookeeper中,znode是类似于Unix文件系统路径的节点,可以从该节点存储或检索数据。如果创建znode 时将Flag 设置为EPHEMERAL,那么当创建该znode 的节点与Zookeeper 失去连接时,该znode 将不再存在于Zookeeper 中。 Zookeeper使用Watcher来检测事件信息。当客户端收到连接超时、节点数据变化、子节点变化等事件信息时,可以调用相应的行为来处理数据。 Zookeeper Wiki 页面展示了如何使用Zookeeper 处理事件通知、队列、优先级队列、锁、共享锁、可撤销共享锁和两阶段提交。
那么Zookeeper 能做什么呢?一个简单的例子:假设我们有20台搜索引擎服务器(每台负责总索引中的一部分搜索任务)和一台通用服务器(负责向这20台搜索引擎服务器发出搜索)。请求并合并结果集),一个备份主服务器(负责在主服务器宕机时替换主服务器),一个web cgi(向主服务器发送搜索请求)。搜索引擎的15个服务器提供搜索服务,5个服务器正在生成索引。这20个搜索引擎的服务器经常要求提供搜索服务的服务器停止提供服务并开始生成索引,或者生成索引的服务器已完成索引生成并可以提供搜索服务。使用Zookeeper可以保证主服务器自动感知有多少服务器提供搜索引擎并向这些服务器发送搜索请求。当主服务器宕机时,备份主服务器自动启动。
指示
1、右键“Project”选择Properties,在弹出的对话框左侧列表中选择Java Build Path,这里选择‘Add Library’。在弹出的对话框中选择“用户库”,然后选择下一步
2. 在出现的对话框中,您可以选择已创建的用户自定义库,也可以选择“用户库”。在弹出的新对话框中选择“新建”,创建新的用户定义库。
3. 在要创建的用户自定义库中,输入新的自定义库的名称。
4.然后添加新库所需的Jar包
5. 按照上述步骤添加用户自定义库后,您可以在以后重复使用这些定义的用户库,以节省开发时间。
热门攻略
热门资讯