zookeeper安装

zookeeper安装需要有Java环境,如何配置可参考本站文章《Java_sdk安装》。

1.本地安装

1.1.解压安装

本地安装,适用于本地开发调试使用。自动化安装脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash
# zookeeper下载地址
zk_addr="https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz"

# zookeeper的安装路径
zk_home="/test/zk"


# 创建安装目录
mkdir -p $zk_home
if [ "$?" != "0" ]; then
echo 'create file failed!'
exit 1
fi

# 下载安装包
wget $zk_addr
if [ "$?" != "0" ]; then
echo 'download failed!'
exit 1
fi

# 解压安装包
name=$(ls | grep zookeeper)
tar -zxvf $name -C $zk_home
if [ "$?" != "0" ]; then
echo 'decompression file failed!'
exit 1
fi

echo 'install successful!'

1.2.修改配置

在zookeeper的conf目录下新增配置文件zoo.cfg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# The number of milliseconds of each tick
# 通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒。
tickTime=2000

# The number of ticks that the initial
# synchronization phase can take
# LF初始通信时限。
# Leader和Follower初始连接时能容忍的最多心跳数,单位次(即tickTime的数量)。
initLimit=10

# The number of ticks that can pass between
# sending a request and getting an acknowledgement
# LF同步通信时限。
# Leader和Follower连接之后,通信时能容忍的最多心跳数,单位次。
# 时间如果超过syncLimit * tickTime,Leader认为Follwer挂掉,从服务器列表中删除Follwer。
syncLimit=5

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
# 保存Zookeeper中的数据的目录。
dataDir=/test/zk/data

# the port at which the clients will connect
# 客户端连接端口,通常不做修改。
clientPort=2181

1.3.启停服务

在zookeeper的bin目录下

1
2
3
4
5
6
7
8
9
10
11
# 启动服务
./zkServer.sh start

# 查看服务状态
./zkServer.sh status

# 停止服务
./zkServer.sh stop

# 启动客户端
./zkCli.sh