Linux下ZooKeeper集群搭建
首先安装VMWare,装了两个虚拟机,版本是CentOS6.5,IP分别是
192.168.3.20
192.168.3.21
然后下载ZooKeeper包:http://zookeeper.apache.org/,使用命令tar -zxvf zookeeper.tar.gz 进行解压,解压到/opt/soft目录
修改主机名 vim /etc/hosts ,在hosts文件中添加一下两项
192.168.1.20 master
192.168.1.21 slave1
进入zookeeper目录,创建文件夹data,进入data,创建文件myid,20和21里面的myid分别写入 1和2
进入conf目录,有一份配置文件模板,复制一份,名称为zoo.cfg,修改zoo.cfg,内容如下
dataDir=/opt/soft/zookeeper-3.4.5/data (刚创建的data目录)
clientPort=2181
initLimit=10
syncLimit=5
tickTime=2000
server.1=master:2888:3888 (ZooKeeper会根据主机名找到IP)
server.2=slave1:2888:3888
关闭防火墙(如果没关闭防火墙,在启动之后,会一直报错);
执行命令:bin/zkServer.sh start conf/zoo.cfg,分别启动ZooKeeper
然后:tail -300f zookeeper.out 查看输出的内容,如果没报错,说明启动成功;
再接下来查看集群是搭建成功:
执行:bin/zkCli.sh -server master:2181 (master和slave1,随便选择一个)
进入到ZooKeeper的客户端命令行下面,执行 ls /,会输出 [zookeeper],这时候创建一个节点 create /test,然后再查看 get /test,打印一下信息
testValue
cZxid = 0x200000005
ctime = Fri Mar 10 15:07:23 PST 2017
mZxid = 0x200000005
mtime = Fri Mar 10 15:07:23 PST 2017
pZxid = 0x200000005
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 0
再切换到另外一个IP,在执行执行:bin/zkCli.sh -server master:2181 ,再 ls / 查看,就可以看到刚刚在另外一台机器上创建的节点test。
查看zookeeper进程状态
bin/zkServer.sh status
Using config: /opt/soft/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower //角色
jps
3220 Jps
2813 QuorumPeerMain //zookeeper进程名
以上都通过,说明ZooKeeper集群搭建成功!