环境:3台安装了jdk的Linux
1. 下载压缩包
http://archive.apache.org/dist/zookeeper/
此处使用zookeeper-3.4.6.tar.gz
上传至服务器,并解压至指定目录
tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/
2. 配置环境变量
vim /etc/profile
在文件末尾处添加配置
export ZOOKEEPER_PREFIX=/opt/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_PREFIX/bin
生效
source /etc/profile
3. 修改配置文件
进入$ZOOKEEPER_PREFIX/conf
目录下,拷贝zoo_sample.cfg
到当前目录下,并重命名为zoo.cfg
,编辑zoo.cfg
vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/theonly/zookeeper/data
clientPort=2181
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
三个端口(可修改):
- 2181:客户端连接zk集群的端口
- 2888:集群内机器通讯使用
- 3888:选举leader时使用的端口
创建$dataDir目录,并在该目录下放一个文件:myid
在myid中写下当前zookeeper的编号
echo 1 > /var/theonly/zookeeper/data/myid
4. 另外两台
执行 步骤2和3
也可以 scp 复制
scp -r /opt/zookeeper-3.4.6 node2:/opt/ && scp -r /opt/zookeeper-3.4.6 node3:/opt/
source /etc/profile
分别指定zookeeper的编号 myid
echo 2 > /var/theonly/zookeeper/data/myid
# echo 3 > /var/theonly/zookeeper/data/myid
5. 启动
zkServer.sh start
# zkServer.sh status
# zkServer.sh stop
zkCli.sh
客户端启动脚本
zkServer.sh
服务端启动脚本
连接zookeeper(node1、node2、node3都可以)
zkCli.sh
# quit #退出