准备工作:三台(最少)主机,系统为CentOS 7,
zookeeper软件包:zookeeper-3.4.7.tar.gz
在安装zookeeper之前,请先安装jdk,Java环境支持。具体安装jdk步骤简单,不赘述。
下载软件包,放在/usr/local/src目录下,解压
tar -zxvf zookeeper-3.4.7.tar.gz
mv zookeeper-3.4.7 /usr/local/zookeeper(个人习惯,把软件包放在/usr/local下)
进入zookeeper/conf目录下,复制zoo_sample.cfg 命名为zoo.cfg
修改配置:
tickTime=2000
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
initLimit=5
syncLimit=2
clientPort=2181
server.1=IP1:2888:3888 此处红色标记可随意数字
server.2=IP2:2888:3888
server.3=IP3:2888:3888
保存退出;
由于配置文件中有dataDir和dataLogDir,所以要创建两个目录
mkdir -p /data/zookeeper/data
mkdir -p /data/zookeeper/logs
在dataDIr目录下创建server id 文件
vim myid 值为1
注:IP1上的myid的值是server.X 的X值要一致,不一致会搭建不成功。
其余两台主机同样的配置,不同就是myid的值。
启动zookeeper,进入bin目录
cd /usr/local/zookeeper/bin
会发现如下文件:
.cmd文件是windows运行脚本,.sh文件是Linux运行脚本
三台主机分别启动:
./zkServer.sh start
是否成功,则查看状态:
./zkServer.sh status;
若出现follower或者leader的单词,则表示zookeeper集群搭建成功。
常见的错误:
在查看状态的时候,会出现以下代码:
JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Error contacting service. It is probably not running
原因之一是:zoo.cfg在制定log输出目录,但是没有创建。
原因之二是:在配置节点主机名和myid不匹配;
本文出自 “沏茶品香” 博客,请务必保留此出处http://chinawu.blog.51cto.com/10692884/1744627
原文:http://chinawu.blog.51cto.com/10692884/1744627