- 单机环境下安装:
- 下载地址:http://apache.fayea.com/zookeeper/stable/
- 解压zookeeper :tar -zxvf zookeeper-3.4.10.tar.gz
- cd 到 ZK_HOME/conf , copy一份zoo.cfg:cp zoo_sample.cfg zoo.cfg
- sh zkServer.sh xxx 获取指令:{start(启动)|start-foreground|stop(停止)|restart|status(服务器属于什么节点或者角色)|upgrade|print-cmd}
- sh zkServer.sh start 启动服务
- 2181是zookeeper默认端口号:sh zkCli.sh -server ip:port(localhost:2181)
- 集群环境:zookeeper集群, 包含三种角色: leader / follower /observer
- 第一步: 修改配置文件 server.id=host:port:port
server.1=192.168.11.129:2188:3181 server.2=192.168.11.131:2188:3181 server.3=192.168.11.135:2188:3181
(上面的2188端口要是换成2181会出现问题)
id的取值范围: 1~255; 用id来标识该机器在集群中的机器序号
2181是zookeeper的默认端口; //类似mysql默认端口号3306
3181表示leader选举的端口(不能和服务器已有端口号冲突)
-
- 第二步:创建myid:在每一个服务器的dataDir目录(/tmp/zookeeper)下创建一个myid的文件,文件就一行数据,数据内容是每台机器对应的server ID的数字。
-
- 第三步:启动全部zookeeper,结束。
- observer:observer 是一种特殊的zookeeper节点。可以帮助解决zookeeper的扩展性(如果大量客户端访问我们zookeeper集群,需要增加zookeeper集群机器数量。从而增加zookeeper集群的性能。 导致zookeeper写性能下降, zookeeper的数据变更需要半数以上服务器投票通过。造成网络消耗增加投票成本)
- observer不参与投票。 只接收投票结果。
- 不属于zookeeper的关键部位。
- 实现:在zoo.cfg里面增加
peerType=observer server.1=192.168.11.129:2188:3181:observer server.2=192.168.11.131:2188:3181 server.3=192.168.11.135:2188:3181