目录
二、下载并解压缩zookeeper-3.4.9.tar.gz
一、创建并进入zookeeper的安装目录
mkdir -p /usr/local/services/zookeeper
cd /usr/local/services/zookeeper
二、下载并解压缩zookeeper-3.4.9.tar.gz
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
tar -zxvf zookeeper-3.4.9.tar.gz
三、zookeeper配置
- 进入zookeeper目录下的conf目录
- 将zoo_sample.cfg文件复制一份,并重命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
- 编辑配置文件zoo.cfg
vim zoo.cfg
# The number of milliseconds of each tick
# zookeeper定义的基准时间间隔,单位是毫秒
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
# 数据文件夹
dataDir=/usr/local/service/zookeeper/zookeeper-3.4.9/data
#日志文件夹
dataLogDir=/usr/local/service/zookeeper/zookeeper-3.4.9/logs
# the port at which the clients will connect
#客户端访问zookeeper的端口号
clientPort=2181
# the maximum number of client connections.
- wq!保存zoo.cfg文件后,进入到bin目录中,编辑系统配置文件profile
vim /etc/profile
在文件尾部追加如下内容
export ZOOKEEPER_HOME=/usr/local/services/zookeeper/zookeeper-3.4.9/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH
使配置立即生效
source /etc/profile
四、启动zookeeper服务
启动zookeeper服务:zkServer.sh start
查看zookeeper状态:zkServer.sh status
关闭zookeeper服务:zkServer.sh stop
重启zookeeper服务:zkServer.sh restart
五、集群配置
- 编辑/etc/hosts,配置好地址和主机名映射关系,例如
192.168.100.1 server1
192.168.100.2 server2
192.168.100.3 server3
- 配置文件
cp zoo_sample.cfg zk1.cfg
cp zoo_sample.cfg zk2.cfg
cp zoo_sample.cfg zk3.cfg
- 配置说明
格式:server.A=B:C:D
A表示这台服务器的编号ID,是一个数字
B表示服务器的IP地址或域名
C表示这台服务器与集群中的Leader交换信息时使用的端口
D表示执行选举Leader服务器时互相通信的端口
- zk1.cfg
#指定数据文件夹和日志文件夹
dataDir= /usr/local/service/zookeeper/zookeeper-3.4.9/data/zk1
dataLogDir= /usr/local/service/zookeeper/zookeeper-3.4.9/logs/zk1
#指定端口
clientPort=2181
#server.序号= (主机名, 心跳端口、数据端口)
server.1= 192.168.100.1:2888:3888
server.2= 192.168.100.2:2888:3888
server.3= 192.168.100.3:2888:3888
- zk2.cfg
#指定数据文件夹和日志文件夹
dataDir=/usr/local/service/zookeeper/zookeeper-3.4.9/data/zk2
dataLogDir=/usr/local/service/zookeeper/zookeeper-3.4.9/logs/zk2
#指定端口
clientPort=2181
#server.序号= (主机名, 心跳端口、数据端口)
server.1= 192.168.100.1:2888:3888
server.2= 192.168.100.2:2888:3888
server.3= 192.168.100.3:2888:3888
- zk3.cfg
dataDir=/usr/local/service/zookeeper/zookeeper-3.4.9/data/zk3
dataLogDir=/usr/local/service/zookeeper/zookeeper-3.4.9/logs/zk3
#指定端口
clientPort=2181
#server.序号= (主机名, 心跳端口、数据端口)
server.1= 192.168.100.1:2888:3888
server.2= 192.168.100.2:2888:3888
server.3= 192.168.100.3:2888:3888
- 在每个文件夹中创建一个myid文件,内容为其对应的id号
echo "1" > /usr/local/service/zookeeper/zookeeper-3.4.9/data/zk1/myid
echo "2" > /usr/local/service/zookeeper/zookeeper-3.4.9/data/zk2/myid
echo "3" > /usr/local/service/zookeeper/zookeeper-3.4.9/data/zk3/myid
- 启动服务
zkServer.sh start zk1.cfg
zkServer.sh start zk2.cfg
zkServer.sh start zk3.cfg