zookeeper集群扩容/下线节点实践
环境:
zookeeper版本 3.4.6
jdk版本 1.7.0_80
10.111.1.29 zk1
10.111.1.44 zk2
10.111.1.45 zk3
10.111.1.46 zk4
10.111.1.47 zk5
一、zookeeper集群扩容(3 -> 5)
3节点的配置并检查状态
配置:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/app/zookeeper
clientPort=2181
server.1=10.111.1.29:2888:3888
server.2=10.111.1.44:2888:3888
server.3=10.111.1.45:2888:3888
zk1状态:
#echo srvr | nc 10.111.32.51 2181
Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
Clients:
/127.0.0.1:36078[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4
zk2状态:
#echo srvr | nc 10.111.32.52 2181
Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
Clients:
/127.0.0.1:46938[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: leader
Node count: 4
zk3状态:
#echo srvr | nc 10.111.32.53 2181
Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
Clients:
/127.0.0.1:37306[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: follower
Node count: 4
创建znode查看集群是否同步
2.加入新的zookeeper 4,5节点
配置如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/app/zookeeper
clientPort=2181
server.1=10.111.1.29:2888:3888
server.2=10.111.1.44:2888:3888
server.3=10.111.1.45:2888:3888
server.4=10.111.1.46:2888:3888
server.5=10.111.1.47:2888:3888
修改/data/app/zookeeper目录的myid文件中的编号(重要)
启动4,5节点,测试写入读取数据
zk4:
[zk: localhost:2181(CONNECTED) 0] get /test/test1
"test1"
cZxid = 0x10000000a
ctime = Sun Jun 05 08:51:09 CST 2016
mZxid = 0x10000000a
mtime = Sun Jun 05 08:51:09 CST 2016
pZxid = 0x10000000a
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
[zk: localhost:2181(CONNECTED) 1] create /test/test2 'test2'
Created /test/test2
zk1:
[zk: localhost:2181(CONNECTED) 0] get /test/test2
'test2'
cZxid = 0x100000015
ctime = Sun Jun 05 08:58:24 CST 2016
mZxid = 0x100000015
mtime = Sun Jun 05 08:58:24 CST 2016
pZxid = 0x100000015
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
修改zk1,2,3配置,一个一个节点依次重启,添加节点完成。
二、zookeeper集群收缩(5->3)
修改保留节点的配置后一个一个依次重启,重启完成后依次关闭2个不需要的节点即可。
参考:
http://www.tuicool.com/articles/BZ7rim
https://my.oschina.net/u/1791060/blog/687268
zookeeper集群扩容/下线节点实践的更多相关文章
- ZooKeeper 02 - ZooKeeper集群的节点为什么是奇数个
目录 1 关于节点个数的说明 2 ZooKeeper集群的容错数 3 ZooKeeper集群可用的标准 4 为什么不能是偶数个节点 4.1 防止由脑裂造成的集群不可用 4.2 奇数个节点更省资源 4. ...
- ZooKeeper 04 - ZooKeeper 集群的节点为什么必须是奇数个
目录 1 - 关于节点个数的说明 2 - ZooKeeper 集群的容错数 3 - ZooKeeper 集群可用的标准 4 - 为什么不能是偶数个节点 4.1 防止由脑裂造成的集群不可用 4.2 奇数 ...
- kafka环境搭建2-broker集群+zookeeper集群(转)
原文地址:http://www.jianshu.com/p/dc4770fc34b6 zookeeper集群搭建 kafka是通过zookeeper来管理集群.kafka软件包内虽然包括了一个简版的z ...
- ZooKeeper集群与Leader选举
说说你对ZooKeeper集群与Leader选举的理解? ZooKeeper是一个开源分布式协调服务.分布式数据一致性解决方案.可基于ZooKeeper实现命名服务.集群管理.Master选举.分 ...
- Centos6下zookeeper集群部署记录
ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目的 最终一致性:client不论 ...
- 架构设计 | 分布式系统调度,Zookeeper集群化管理
本文源码:GitHub·点这里 || GitEE·点这里 一.框架简介 1.基础简介 Zookeeper基于观察者模式设计的组件,主要应用于分布式系统架构中的,统一命名服务.统一配置管理.统一集群管理 ...
- 搭建zookeeper集群
简介: Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置 ...
- zookeeper集群
0,Zookeeper基本原理 ZooKeeper集群由一组Server节点组成,这一组Server节点中存在一个角色为Leader的节点,其他节点都为Follower.当客户端Client连接到Zo ...
- Zookeeper集群部署
一. 部署前的准备工作 保证各个主机之间能够正常通信,最好是在同一网段. 修改host文件,加入IP和主机名的映射.方法为修改/etc/hosts和etc/hostname文件,不同的Linux发行版 ...
随机推荐
- appium 获取android 粘贴板上的内容
appium 新版本增加了获取粘贴板的内容.如果使用appium旧版本,获取粘贴板的内容不是那么容易的,甚至百度谷歌各种搜,都无法找到合适的解决方法.新版本获取android 粘贴板内容就显得很容易了 ...
- php手册总结《类》
手册页面: http://php.net/manual/zh/language.oop5.basic.php >> 类名 类名可以是任何非 PHP 保留字的合法标签.一个合法类名以字母或下 ...
- Json字符串转DataTable
/// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson" ...
- layui表单验证
layui表单元素的校验只需在元素上加入lay-verify,layui提供了以下值. required(必填项) phone(手机号) email(邮箱) url(网址) number(数字) da ...
- linux下yum安装最新稳定版nginx
## 摘抄nginx官网文档 URL:http://nginx.org/en/linux_packages.html#stable To set up the yum repository for R ...
- ubuntu之视频转换(Avconv的使用)
1.安装 sudo apt-get install ffmpeg libav-tools 2.基本操作 avconv [options] [[infile options] -i infile] [[ ...
- Kubernetes集群部署之二CA证书制作
创建TLS证书和秘钥 kubernetes 系统的各组件需要使用 TLS 证书对通信进行加密,本文档使用 CloudFlare 的 PKI 工具集 cfssl 来生成 Certificate Auth ...
- Windows 下单机最大TCP连接数
在做Socket 编程时,我们经常会要问,单机最多可以建立多少个 TCP 连接,本文将介绍如何调整系统参数来调整单机的最大TCP连接数. Windows 下单机的TCP连接数有多个参数共同决定,下面一 ...
- mem 0908
taglib http://blog.csdn.net/zyujie/article/details/8735730 dozer: Dozer可以在JavaBean到JavaBean之间进行递归数据复 ...
- android编译错误--/usr/bin/ld: cannot find -lz
编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when se ...