背景
本文主要介绍了在centos7系统上搭建zookeeper集群的步骤。
环境
- 三台centos7的机器:
hostname | ip |
---|---|
node1 | 192.168.163.128 |
node2 | 192.168.163.129 |
node3 | 192.168.163.130 |
搭建zookeeper集群时一定要使用奇数台服务器。
-
java版本:jdk8
-
zookeeper版本:3.4.9
搭建步骤
安装Java环境
请参考:http://lintut.com/how-to-install-java-8-on-rhel-centos-7-x-and-fedora-linux/
配置无密钥的SSH访问
-
每台zookeeper节点配置以下hosts:
192.168.163.128 node1 192.168.163.129 node2 192.168.163.130 node3
-
每台节点生成自己的密钥。一路回车,全部按照默认的方式生成。
# ssh-keygen -t rsa
结束后,我们可以在~/.ssh目录下多了id_rsa和id_rsa.pub这两个文件。
-
接下来,我们需要配置ssh免密钥登录了。为了方便起见,我们借用ssh-copy-id命令。如果提示没有ssh-copy-id命令,可以执行
yum install openssh
来安装。下面我们以node1节点为例:# ssh-copy-id root@node2 # ssh-copy-id root@node3
所有节点都需要执行一遍ssh-copy-id命令。
-
尝试在node1节点通过ssh免密钥登录node2节点:
# ssh root@node1
如果能够登录成功说明已经配置成功。
下载zookeeper
随便挑选一台节点服务器,比如我们挑选node1。在node1上从官网下载zookeeper:
# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/zookeeper-3.4.9.tar.gz
解压下载下来的压缩包:
# tar zxvf zookeeper-3.4.9.tar.gz
建立zookeeper关键目录
建立dataDir(数据目录)所在目录:
# mkdir /var/lib/zookeeper
建立dataLogDir(日志目录)所在目录:
# mkdir /var/log/zookeeper
配置zookeeper
-
建立配置文件:
# cd zookeeper-3.4.9/conf # cp zoo_sample.cfg zoo.cfg
-
编辑配置文件:
# vim zoo.cfg
-
在配置文件中添加以下的配置信息:
tickTime=2000 initLimit=10 syncLimit=5 clientPort=2181 dataDir=/var/lib/zookeeper dataLogDir=/var/log/zookeeper server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
然后将zookeeper文件夹拷贝至node2以及node3。
建立myid文件
在每台节点服务器上创建myid文件,myid文件的所在位置就是dataDir目录,myid文件里面的内容就是刚才配置文件中server后面跟的数字。我们以node1为例:
# cd /var/lib/zookeeper
# echo 1 > myid
启动zookeeper
在所有节点的zookeeper文件夹下执行以下命令:
# zookeeper-3.4.9/bin/zkServer.sh start
校验zookeeper启动状态
启动成功之后,zookeeper会从节点中选出一个leader,剩余的就是follower,我们可以挑选一台节点服务器执行下述命令查看当前节点是什么状态:
# zookeeper-3.4.9/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: follower
我们可以看到当前的节点服务器是follower状态。
网友评论