博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zookeeper 应用
阅读量:5909 次
发布时间:2019-06-19

本文共 1049 字,大约阅读时间需要 3 分钟。

1. 应用场景

  • Zookeeper提供的服务包括:统一命名服务,统一配置管理,统一集群管理,服务器节点动态上下线,软负载均衡等。

2. 配置修改

// 安装路径下的:conf/zoo_sample.cfg 修改为 zoo.cfgtickTime=2000initLimit=10syncLimit=5dataDir=/自定义路径/zookeeper-3.4.14/data// 日志dataLogDir=/自定义路径/zookeeper-3.4.14/datalog// 端口clientPort=2181

3. 操作单节点 Zookeeper

// 3.1. 启动Zookeeperbin/zkServer.sh start// 3.2. 查看进程是否启动jps// 3.3. 查看状态bin/zkServer.sh status// 3.4. 启动客户端bin/zkCli.sh// 3.5. 退出客户端quit// 3.6. 停止 Zookeeperbin/zkServer.sh stop

4. Zookeeper Shell命令操作

// 4.1. 查看当前 Znode 中所包含的内容ls /// 4.2. 查看当前节点详细数据ls2 /// 4.3. 创建两个普通节点create /node001 "realData"create /grandfather/father "xiaoming"// 4.4. 获得节点的值get /grandfather/father// 4.5. 修改节点数据值set /grandfather/father "xiaowu"// 4.6. 删除节点delete /grandfather/father// 4.7. 递归删除节点rmr /grandfather

5. 监听器原理

  • 首先,需要有一个main()线程;
  • 在main线程中创建Zookeeper客户端,这时,就会创建两个线程:一个负责网络连接通信(connect),一个负责监听(listener);
  • 通过connect线程将注册的监听事件发送给Zookeeper;
  • 在Zookeeper的注册监听器列表中将注册的监听事件添加到列表中;
  • Zookeeper监听到有数据或路径变化,就会将这个消息发送给listener线程;
  • listener线程内部调用了process()方法;

1222878-20190610204641027-429205179.png

转载于:https://www.cnblogs.com/linkworld/p/11000132.html

你可能感兴趣的文章
利用libsvm-mat建立分类模型model参数解密[zz from faruto]
查看>>
range与xrange之间的差异(转)
查看>>
以构造函数和原型法重新实现定时器封装
查看>>
深入理解javascript原型和闭包(1)——一切都是对象
查看>>
在AD09中查找元件和封装
查看>>
在Eclipse中使用JUnit4进行单元測试(0基础篇)
查看>>
JavaWeb学习----JSP简介及入门(含Eclipse for Java EE及Tomcat的配置)
查看>>
ibatis中<![CDATA[使用解释
查看>>
pl/sql 实现归并算法 (合并插入法的优化)
查看>>
用nodejs搭建最简单、轻量化的http server(转)
查看>>
int 与 string::length()
查看>>
说说C#的async和await(转)
查看>>
Android 图片的缩略图
查看>>
php中strlen和{}的效率对比
查看>>
swift1.2语言函数和闭包函数介绍
查看>>
MYSQL——数据类型
查看>>
在 ASP.NET MVC4 中使用 NInject
查看>>
防止表单重复提交的几种思路
查看>>
IOS开发基础知识--碎片22
查看>>
heredoc和nowdoc的区别
查看>>