说明:大概是3年前在一个Saas平台中接触到dubbo,此博文是复习笔记,作为分享和交流之用。阅读此篇博文必须先阅读笔者的另一篇博文"Dubbo框架搭建服务发布与订阅(Dubbo第二炮)",因为它们紧密联系。(此演示以为windows环境进行演示,笔者感觉zookeeper部署在linux上还简单一些,相对于windows毕竟linux提供太多好用的工具了)…
演示内容如下:
@author拈花为何不一笑。
1 Zookeeper服务器基本操作
(1.1)配置文件说明:
编写配置文件
D:\zookeeper-3.4.12\conf目录下,把默认的zoosample.cfg复制重命名为zoo.cfg, 配置文件zoo.cfg需要在每台服务器中都要编写,以下是一个zookeeper集群配置文件的样本:
# Filename zoo.cfg
tickTime=2000
dataDir=/home/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=202.115.36.251:2888:3888
server.2=202.115.36.241:2888:3888
server.3=202.115.36.242:2888:3888
此配置文件属性项说明:
(1)tickTime: Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,单位毫秒
(2) initLimit: Zookeeper 集群时leader与follower服务器之间初始化连接时,维持心跳的时
间长度,超过这个时间服务器之间的连接则失败,单位毫秒(多台zookeeper服务器集群时选
举一台作为leader其它的作为follower)
(3) syncLimit: Leader 与 Follower 之间发送消息,请求和应答时间长度。计算方式比如:tickTime=2000(毫秒) syncLimit =2 ,则syncLimit = 2 * 2000 =4秒,initLimit计算同
理。
(4)dataDir:存储快照的目录。不要将/tmp用于存储数据目录. 默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
(5) dataLogDir:日志文件存放目录
(6)clientPort:Zookeeper服务器开放给客户端使用的端口号
Zookeeper中几个端口号说明
(a) zookeeper服务器中的集群配置文件
1. # 服务器开放给客户端使用的端口
2. clientPort=2181
3. #Clusters集群,下面配置格式
4. #servier.序号=IP:P1:P2
5. #说明:
6. # 序号用数字来表示,在集群时用来标识是哪一台zookeeper服务器
7. # P1表示Zookeeper服务器之间正常交换信息时使用的端口,这个有点类似redis中主从复制
8. # p2表示选举Leader时使用的端口
9. #每台机器上Zookeeper服务器都分别有自己设置的端口。
10.
11. #如果是伪集群要求每台zookeeper服务器:server.1 server.2 和server.3的P1,P2不能相同
12. server.1=192.168.179.129:2888:3888
13. server.2=192.168.179.129:2889:3889
14. server.3=192.168.179.129:2890:3890
15.
16. #如果是真实的集群(非伪集群),注意看每台zookeeper服务器对应的P1,P2是可以相同的,因为这些#zookeeper服务器都不同的机器上。配置如下:
17. server.1=192.168.179.1