zookeeper jar包是一款帮助程序员进行java编程开发的软件。用户在进行java开发时需要使用到zookeeper,这款软件能够让开发过程更方便、快捷、简单。
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3srcrecipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
工作原理
ZooKeeper是以Fast Paxos算法为基础的,Paxos 算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader (领导者),只有leader才能提交proposer,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。
工作流程
1、选举Leader。
2、同步数据。
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的。
4、Leader要具有最高的执行ID,类似root权限。
5、集群中大多数的机器得到响应并follow选出的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.右击“项目”→选择Properties,在弹出的对话框左侧列表中选择Java Build Path,弹出对话框,这里选择"Add Library",弹出对话框,选择"User Library",然后选择→Next
2.在出现的对话框中,可以选择已经创建好的用户自定义库,也可以选择User Libraries,弹出的新对话框中选择"New",创建新的用户自定义库。
3.在待创建用户自定义库中,输入新的自定义库的名字,
4.然后为新库,添加所需的Jar包
5.按上述步骤添加好用户自定义库后,以后可以重用这些已定义好的User Library库,为开发节省时间。
加载全部内容
TGraphDisplay3D(图形编程软件)v1.0.59.202 官方版23.2M13人在玩TGraphDisplay3D是一个Delphi的组件,支持图形编程功能,使用纯Direct3D113D加速图形,支持音频样本显示,用户可以任意添加带有名称和自定义颜色的标记,有需要的用户不要错过了,欢迎下载使用!
下载Notepad2书签版(Notepad2 Bookmark Edition)v5.1 官方版322KB12人在玩Notepad2BookmarkEdition是一款非常好用的记事本替代文本编辑器,Notepad2是一个重量轻,自由和开放源码的记事本类似的语法突出显示的文本编辑器。
下载Mongood(MongoDB管理工具)v0.6.2 免费版9.2M9人在玩Mongood是一款功能强大的MongoDB管理工具,能够为用户提供强大的图形管理界面,能够在查询文件时自动生成索引,持完整的Mongo-shell数据类型和查询语法,能够提高你的数据库管理效率,有需要的用户欢迎下载使用!
下载PopSQLv1.0 官方版71.2M8人在玩PopSQL是一款非常好用的SQL编辑器,软件界面简洁,功能强大,支持多种语言输入,兼容多种SQL软件,如果你还在寻找sql编辑器,不妨试试PopSQL吧!
下载Sencha Architect 3注册版240.7M8人在玩SenchaArchitect3注册版是一款是HTML5可视化应用开发程序,开发团队可以在一个单一集成的环境中完成应用的设计、开发和部署,能够有效提高工作效率,有需要的用户不要错过了,欢迎下载使用!
下载Claris FileMaker Pro(低代码开发工具)v19.3.1.43 免费版289.9M6人在玩ClarisFileMakerPro低代码开发工具是一款非常好用的代码开发工具,它的页面简洁,功能强大,无需知道种种编程技术,开发者使用ClarisFileMakerPro也能提高工作效率,感兴趣的朋友快来下载体验吧。
下载SRPG Studio(RPG游戏制作引擎)v1.149 免费版191.5M5人在玩SRPGStudio是一款非常不错的RPG游戏制作工具,支持对事件、战斗、装备、地图等内容的自由度设置,能够为你的游戏添加各种BGM,将你喜欢的角色形象、剧本制作成游戏,感兴趣的用户欢迎下载使用!
下载sublime text3中文破解版(代码编辑器)45.6M4人在玩sublimetext3中文破解版是一款十分受用户推崇的代码编辑器,它的功能全面强大,拥有高效、没有干扰的界面以及非凡的代码编辑能力,支持语法高亮、代码补全、代码片段、代码折叠、行号显示、自定义皮肤、配色方案等强大功能,欢迎大家下载体验。
下载Database Comparev2018 官方版9.1M2人在玩DatabaseCompare是常用的比较两个数据库之间差异的工具,主要就帮助大家比较数据库中的对象,比如说存储过程啊、数据啊、表单什么的、数据库中的数据,表的结构。DatabaseCompare支持比较真实数据库和数据库快照、备份、版本控制器或文件夹中的构建脚本。
下载Greenfootv2018 中文版186M2人在玩Greenfoot是一个功能完整的开发环境,可以使用Java方便地编写游戏和进行模拟。它还可以被用来作为Java语言的教程,以及设计网络游戏,可以实用于所有年龄段的用户,而不仅仅是初学者。
下载