前面几篇博客讲了zookeeper的原理和应用场景,下面给大家介绍怎么安装部署:
环境部署
zk服务器集群规模不得小于3个节点
要求各服务器之间系统时间要保持一致
现在我们准备三台机器,都是centos7.2
IP | myid |
---|---|
192.168.10.1 | 1 |
192.168.10.2 | 2 |
192.168.10.3 | 3 |
1.下载安装压缩包:
下载地址:http://archive.apache.org/dist/zookeeper/ 我这个下载的是zookeeper-3.4.12.tar.gz,然后将压缩包传到三台服务器上,同时先安装好JDK1.8,JDK具体安装我的博客里有。
2.在三个机器上解压程序,创建数据库目录
#解压程序:
tar xf zookeeper-3.4.12.tar.gz -C /usr/local/
#创建数据库目录:
mkdir /data/zookeeper/
3.修改三个节点上修改配置文件:
cd /usr/local/zookeeper-3.4.12/conf/
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg #zoo_sample.cfg 是官方给我们的zookeeper的样板文件,给他复制一份命名为zoo.cfg,zoo.cfg是官方指定的文件命名规则。
192.168.10.1节点zoo.cfg配置文件的内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/
clientPort=2181
server.1=0.0.0.0:12888:13888
server.2=192.168.10.2:12888:13888
server.3=192.168.10.3:12888:13888
192.168.10.2节点zoo.cfg配置文件的内容:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/
clientPort=2181
server.1=192.168.10.1:12888:13888
server.2=0.0.0.0:12888:13888
server.3=192.168.10.3:12888:13888
193.168.10.3节点zoo.cfg配置文件的内容:
tickTime=2000
# 这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小的session过期时间为2倍tickTime
initLimit=10
# 此配置表示,允许follower(相对于Leaderer言的“客户端”)连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。
syncLimit=5
# 此配置项表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。
dataDir=/data/zookeeper/ # 运行数据的存放路径
clientPort=2181
server.1=192.168.10.1:12888:13888
server.2=192.168.10.2:12888:13888
server.3=0.0.0.0:12888:13888
# server.myid=ip:leader_port:inner_port
# myid 为服务器编号,用于标识服务器,这个值必须和dataDir目录下myid文件中的值保证一致
# ip 为当前服务器IP,
# leader_port Leader的端口
# inner_port zk服务器之间内部通信端口
# 同一个集群内的服务器,需要把该集群内的服务器列表信息都写在配置文件中。
4.分别在三台机器上创建myid文件
#192.168.10.1
echo 1 > /data/zookeeper/myid
#192.168.10.2
echo 2 > /data/zookeeper/myid
#192.168.10.3
echo 3 > /data/zookeeper/myid
5.启动服务&查看log
cd /usr/local/zookeeper-3.4.12/bin
./zkServer.sh start #启动
./zkServer.sh status #查看状态
./zkServer.sh stop #停止
tailf zookeeper.out #查看日志
6.简单操作:
#连接 ZooKeeper 服务器
./zkCli.sh -server localhost:2181
# 查看根下有哪些节点
ls /
# 在根下创建一个 "tuchao" 节点,并设置数据为 "hello zookeeper"
create /tuchao "hello zookeeper"
# 查看 /tuchao 中的数据
get /tuchao
# 修改 /tuchao 中的数据为 "Happy birthday"
set /tuchao "Happy birthday"
好了,zookeeper已经安装完成,欢迎大家在评论区交流互动!