***关于ZooKeeper(单机版)的下载、安装、配置、启动、测试等,请参考另外一篇文章:***CentOS安装ZooKeepershell
搭建集群只需在此基础上增长一些配置,本文也主要介绍这些和集群相关的配置,其余步骤再也不赘述vim
假设节点数为3,ip分别为:10.20.1.52,10.20.1.53,10.20.1.54
bash
shell> cd /usr/local/zookeeper-3.5.3-beta/conf shell> cp zoo_sample.cfg zoo.cfg shell> vim zoo.cfg 复制代码
末尾增长如下集群相关配置markdown
server.1=10.20.1.52:2888:3888
server.2=10.20.1.53:2888:3888
server.3=10.20.1.54:2888:3888
复制代码
shell> mkdir /usr/local/zookeeper-3.5.3-beta/data shell> echo 1 > /usr/local/zookeeper-3.5.3-beta/data/myid #10.20.1.52 复制代码
这里echo 1
的数字”1“与zoo.cfg
中server.1
是一致的工具
第一台机器配置好之后,直接复制到其余节点而后稍加修改便可(固然,若是你愿意,也能够按照相同的步骤再重复安装配置一次,注意修改myid
文件的内容便可)post
shell> scp -r /usr/local/zookeeper-3.5.3-beta root@10.20.1.53:/usr/local/ shell> scp -r /usr/local/zookeeper-3.5.3-beta root@10.20.1.54:/usr/local/ 复制代码
而后分别修改其余两台机器上的myid文件测试
shell> echo 2 > /usr/local/zookeeper-3.5.3-beta/data/myid #10.20.1.53 shell> echo 3 > /usr/local/zookeeper-3.5.3-beta/data/myid #10.20.1.55 复制代码
CentOS 6:spa
shell> service iptables stop
shell> chkconfig iptables off
复制代码
CentOS 7:code
shell> systemctl stop firewalld shell> systemctl disable firewalld 复制代码
更多防火墙设置(不想简单粗暴的关闭防火墙,只开启指定端口的访问),请参考:CentOS防火墙设置orm
分别启动3个ZooKeeper节点
shell> cd /usr/local/zookeeper-3.5.3-beta/ shell> bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.5.3-beta/bin/../conf/zoo.cfg Starting zookeeper ... STARTED 复制代码
单机版的Mode: standalone
不一样,集群的Mode会显示为leader
(主节点)或follower
(从节点),默认集群中的第一个节点为leader
# 10.20.1.52 shell> bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.5.3-beta/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Mode: leader 复制代码
# 10.20.1.53 shell> bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.5.3-beta/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Mode: follower 复制代码
# 10.20.1.54 shell> bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper-3.5.3-beta/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Mode: follower 复制代码
在其中一台机器(10.20.1.52)上建立节点,查看其余机器(10.20.1.53)上节点是否同步
shell> cd /usr/local/zookeeper-3.5.3-beta/ # 使用zkCli工具链接本机ZooKeeper,默认2181端口 shell> bin/zkCli.sh # 查看节点,默认只有一个[zookeeper] [zk: localhost:2181(CONNECTED) 0] ls / [zookeeper] # 建立测试节点 [zk: localhost:2181(CONNECTED) 1] create /test Created /test # 再次查看,多了一个test节点 [zk: localhost:2181(CONNECTED) 2] ls / [test, zookeeper] # 使用connect链接其余机器(也能够直接经过zkCli.sh -server 10.20.1.53:2181链接) [zk: localhost:2181(CONNECTED) 3] connect 10.20.1.53 # 看到test节点已经同步 [zk: 10.20.1.53(CONNECTED) 4] ls / [test, zookeeper] 复制代码