【ZooKeeper分布式系统协调 v3.7.0】Hadoop的正式子项目+针对大型分布式系统的可靠协调系统

【ZooKeeper分布式系统协调 v3.7.0】Hadoop的正式子项目+针对大型分布式系统的可靠协调系统

资源下载
仅限永久至尊SVIP下载,请先
✖禁止商用 · ✖仅供美工参考
✔有偿搭建,全程录屏,包修BUG,售后一周。
客服QQ:3102726597
TG: 点我联系站长
或添加ID : @youmiyuanma
该源码为运营级,仅限使用USDT支付,如有不便,联系客服协助!

【ZooKeeper分布式系统协调 v3.7.0】Hadoop的正式子项目+针对大型分布式系统的可靠协调系统
ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能N K c稳定的系统提供给用户。 Zookeeper是Google的Chubby一个开源的实现。是高有效和可靠的协同工作系统。ZookeepR L Qer能够用来leader选举,配置信息维护等。在一个分布式的环境中,我们需要一个M O C f F Y R [aster实例或存储一些配置信息,确保文件写入的一致性等。Zookeeper能够保证如下3点: 1、Watches are ordered with respect to other events,other watches,and asynchronous replies. The ZooKeeper client libraries ensures th~ O j Q / v N N 2at everytk 3 uhiO } ! 8 p %ng is dispatched in order. 2、A client will see a watch event for a znode it is watching` z 9 T K . U g before seeing the new data that corresp9 Q m =onds to that znode. 3、The order of watch events from ZooKeeper corresponds to the order of th6 ^ v Je updates as seen by the ZooKeeper service. 在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据。如果在创建znode时Flag设置为EPHEMERAL,那么当这个创建这个zk 0 h gnode的节点和Zookeeper失去连接后,这个znode将不再存在在Zo} V % h Y – Z qokeeper里。Zookeeper使用Watcher察觉事件信息,当客户端接收到事件信息,比如连接超时,节点数据改变,子节点改变,可以N g W k { G n (调用相应的行为来处理数I ] R据。Zookeeper的Wiki页面展示了如何使用Zookeeper来处理事件通知,队列,优先队列,锁,共享锁,可撤销的共 n 2 ^ _ d享锁,两阶段提交。 那么Zookeeper能帮我们作什么事情呢?简单的例子:假设我们我们有个20个搜索引擎的服务器(每个负责总索引中的一部分, W p } % ( G的搜索任务)和一个 总服b k K ` n * b 6务器(负责向这20个搜索引擎K s t ] q V的服务器发出搜索请求并合并结果集),一个备用的总服务器(M r A Q c !负责当总服务器宕机时替换总服务器),一个web的cgi(向总服务器发出搜索请L * f y f e求)。搜索引擎的服务器中的15个服务器现在提供搜索服务,5个服务器正在生a D – 2成索引。这20个搜索引擎的服务器经常要让正在 提供搜索服务的服务器停止提供服务开始生成索引,或生成索引的服务器已经把索引生成完成可以搜索提供服务了。使用Zookeeper可以保k – J _ e ^证总服务器自动感知有多少提供搜索引擎的服^ K @ ! I 3 / 0 %务器并向这些服务器发出搜索请求,Z . w备用的总服务器宕机时自动启用备用的总服务器,we6 t b的cgi能够自动地获知总服务器的网络地址变化。这些又如何做到呢? 1、提供搜J 4 w R & ] 7 2 ]索引擎的服务器都在Zx u ? N c O N :ookeeper中创建znode,zk.create(“/search/nodes/node1″, “hostname”.getBytes(),Ids.OPEN_ACL_UNSAFE,CreateFlags.EPHEMERAL); 2、总服务器可以从Zookeeper中获取一个znode1 A J的子节点的列表,zT t z $k.getChildren(“/+ A W n h Fsearch/nodes”,true); 3、总服务器遍历这些子节点,并获取子节点的数据生成提供搜索引擎的F p [ – u服务器列表; 4、当总服务器接收到子节点改变X & U的事% t Y K件信息,重新返回第二步; 5、总服务器2 h ` : e在Zookeeper中创建节点,zk# I S f ) / 9 L.create(“/search/master”,”hostname”.getBytes(),Ids.OPEN_ACL_UNSAFE,Creatm f o h A X LeFlags.EPHEMERAL); 6、备用的总服务器监控Zookeeper中的”/search/master”节点.当这个znode的节点数据改变时,把自己启动变成总服务器,并把自己的网络地址数据放进这个节点; 7、we2 @ 6 = d G kb的cgi从Zookeeper中8 l ~ S C g”/search/master”节点获取总服务器的网络地址数据并向其发送搜索请求; 8、web的cgi监控Zookeeper中的”/search/master”节点,当这个znode的节点数据改变时,从这个节点获取总服务器的网络地址数据,@ ) y ] A并改变当前的总服务器的网络地址。n E 8 & i
资源下载
下载价格永久至尊SVIP专享
仅限永久至尊SVIP下载升级永久至尊SVIP
✖禁止商用 · ✖仅供美工参考
✔有偿搭建,全程录屏,包修BUG,售后一周。
客服QQ:3102726597
TG: 点我联系站长
或添加ID : @youmiyuanma

本站使用须知 1、 本网站永久网址:优洣源码网
2、 本站永久网址:https://youmiym.com
3、 本网站的所有内容来源于网络,如有侵权,请联系站长QQ3102726597 进行删除处理。
4、 本站除[商业源码]分类外,其他源码均为搬运,未测试,本站不对其内容和可用性做任何保证, 收取的费用为搬运费,支付后不支持退款。
5、 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7、 本站源码仅限用于美工参考,禁止上线运营,违者后负,与本站无关。

  • 在线客服
  • 升级VIP
  • 夜间模式
  • 繁简切换
  • 返回顶部
显示验证码
没有账号?注册  忘记密码?