zookeeper 学习笔记 平滑升级迁移

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_31349087/article/details/72716783
zookeeper集群
集群个数 (2n+1) 一般3-5-7的奇数


把zookeeper的安装包重命名为node-1 node-2 node-3 ..


配置 zoo.cfg
zookeeper/node-1的配置(../zookeeper/node-1/conf/zoo.cfg)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=../zookeeper/node-1/data
dataLogDir=../zookeeper/node-1/logs
clientPort=2181
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883


zookeeper/node-2的配置(../zookeeper/node-2/conf/zoo.cfg)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=../zookeeper/node-2/data
dataLogDir=../zookeeper/node-2/logs
clientPort=2182
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883


zookeeper/node-3的配置(../zookeeper/node-3/conf/zoo.cfg)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=../zookeeper/node-3/data
dataLogDir=../zookeeper/node-3/logs
clientPort=2183
server.1=edu-zk-01:2881:3881
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883




---------- 参数说明
tickTime=2000
:tickTime这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔
也就是每个tickTime时间就会发送一个心跳


initLimit=10
:initLimit这个配置项是用来配置Zookeeper接受客户端(这里所说的客户端不是用户连接Zookeeper
服务器的客户端,而是zookeeper服务器集群中连接到leader的follower服务器)初始化连接时最长
能忍受多少个心跳时间间隔数.当已经超过10个心跳的时间(也就是tickTime)的长度后zookeeper服务器
还没有收到客户端的返回信息,那么表明这个客户端连接失败,总的时间就是2000*10=20秒


syncLimit=5
:syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过
多少个tickTIme的时间长度,总的时间长度就是5*2000=10秒


dataDir=../zookeeper/node-1/data
:dataDir顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存
在这个目录里


clientPort=2181
:clientPort这个端口就是客户端(应用程序)连接zookeeper服务器端口,zookeeper会监听这个端口'
接受客户端的访问请求


server.A=B:C:D
server.1=edu-zk-01:2881:3381
server.2=edu-zk-02:2882:3882
server.3=edu-zk-03:2883:3883
:A是一个数字,表示这个是第几号服务器
B是这个服务器的ip地址(或者是与IP地址做了映射的主机名)
C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口
D是在leader挂掉时专门用来进行选举leader所用的端口
注意:如果是伪集群的配置方式,不同的zookeeper实例通信端口号不能一样,所以要给他们分配不同的端口号


----- 创建myid文件
在dataDir=../zookeeper/node-x/data下创建myid文件
编辑myid文件,并在对应的ip的机器上输入对应的编号,如在node-1上,
myid的内容就是1,node-2就是2,node-3就是3
$vi ../zookeeper/node-1/data/myid ## 值为1
$vi ../zookeeper/node-2/data/myid ## 值为2
$vi ../zookeeper/node-3/data/myid ## 值为3


防火墙打开218x\288x\388x端口






dubbo管控台:
连接多个注册中心

dubbo.registry.address=ip,ip,ip...逗号隔开




---zookeeper 升级迁移


#dubbo
dubbo.registry.address=192.168.1.71:2181|192.168.1.81:2081,192.168.1.82:2082,192.168.1.83:2083
不同注册中心用|分割,同一注册中心不同节点用,分割


取消掉需要去掉的节点
dubbo.registry.address=192.168.1.81:2081,192.168.1.82:2082,192.168.1.83:2083

展开阅读全文

没有更多推荐了,返回首页