1. 单机版安装
1.1. windows下安装
下载zookeeper
网址 https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/解压zookeeper
解压运行zkServer.cmd ,初次运行会报错,没有zoo.cfg配置文件修改zoo.cfg配置文件
将conf下的zoo_sample.cfg复制一份改名为zoo.cfg即可。
注意几个重要位置:
dataDir=./ 临时数据存储的目录(可写相对路径)
clientPort=2181 zookeeper的端口号
修改完成后再次启动zookeeper使用zkCli.cmd测试
ls /:列出zookeeper根下保存的所有节点
create –e /testK 123:创建一个testK节点,值为123
get /testK:获取/testK节点的值
1.2. Linux下安装
- 安装
wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
tar zxvf zookeeper-3.3.6.tar.gz
cd zookeeper-3.3.6
cp conf/zoo_sample.cfg conf/zoo.cfg
- 配置(可选)
vi conf/zoo.cfg ,加入以下内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/zgc/zookeeper-3.3.6/data
clientPort=2181
- 启动
./bin/zkServer.sh start
- 停止
./bin/zkServer.sh stop
1.3. Linux下设置开机自启动zookeeper
1). 在/etc/init.d/
目录下新建名称为zookeeper的文件,文件内容如下:
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
ZK_PATH=/usr/local/zookeeper
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
case $1 in
start) sh $ZK_PATH/bin/zkServer.sh start;;
stop) sh $ZK_PATH/bin/zkServer.sh stop;;
status) sh $ZK_PATH/bin/zkServer.sh status;;
restart) sh $ZK_PATH/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac
2). 给脚本添加执行权限
[root@zookeeper init.d]# chmod +x zookeeper
3). 添加到开机自启
[root@zookeeper init.d]# chkconfig --add zookeeper
[root@zookeeper init.d]# chkconfig --list --查看开机自启的服务
2. 集群版安装
因为在集群中,zookeeper要选举出leader。所以搭建集群的机器最好是单数个。
1、一共三个节点,要求服务器之间系统时间保持一致;
2、进行解压:tar zookeeper-3.4.5.tar.gz ;
3、重命名: mv zookeeper-3.4.5 zookeeper;
4、修改环境变量:vi /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=.:$ZOOKEEPER_HOME/bin
5、刷新: source /etc/profile
6、到zookeeper下修改配置文件:
cd /usr/local/zookeeper/conf
mv zoo_sample.cfg zoo.cfg
7、修改conf: vi zoo.cfg 修改两处
1). dataDir=/usr/local/zookeeper/data
2). 最后面添加
server.0=192.168.78.21:2888:3888
server.1=192.168.78.22:2888:3888
server.2=192.168.78.23:2888:3888
8、服务器标识配置
创建文件夹:mkdir /usr/local/zookeeper/data
在data目录下创建文件myid并填写内容为(0或1或2)
9、启动zookeeper
路径:/usr/local/zookeeper/bin
执行:zkServer.sh start
查看状态:zkServer.sh status