版本号:
Redhat6.5 zookeeper-3.4.6 JDK1.8
zookeeper下载
官网下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
百度云盘下载地址:链接:http://pan.baidu.com/s/1jIHYV7S 密码:pddz
1对Zookeeper集群进行配置
在master、slave1、slave2这三台机器上都安装了zookeeper后(开机启动不是必须的),按照下面的步骤操作即可。
1.1创建对应的目录和文件
1.1.1创建目录
在maste机器的/usr/local目录下新建一个名为zookeeper的文件夹,并将下载的压缩包zookeeper-3.4.6.tar.gz上传上去
如图:
在master机器上执行命令创建两个目录:
mkdir /usr/local/zookeeper/data
mkdir /usr/local/zookeeper/dataLog
创建完成后,如图:
在master机器的/usr/local/zookeeper/data目录内都创建一个名为myid的文件
在master机器的/usr/local/zookeeper/zookeeper-3.4.6/conf目录内都创建一个名为zoo.cfg的文件:
cd /usr/local/zookeeper/zookeeper-3.4.6/conf
cp zoo_sample.cfg zoo.cfg
如图:
将master机器上的zookeeper文件夹复制到slave1、slave2两台机器上:
scp -r /usr/local/zookeeper root@slave1:/usr/local
scp -r /usr/local/zookeeper root@slave2:/usr/local
1.1.2 配置myid文件
将master机器上的/usr/local/zookeeper/data/myid文件的内容编辑为200
如图:
将slave1机器上的/usr/local/zookeeper/data/myid文件的内容编辑为201
如图:
将slave2机器上的/usr/local/zookeeper/data/myid文件的内容编辑为202
如图:
说明:myid中的数字编号可以不一样,只要和下面1.2中的zoo.cfg的配置对应即可。
1.2在3台机器修改配置文件zoo.cfg
把集群内master、slave1、slave2三台机器的zookeeper的zoo.cfg配置文件都修改成一样的内容,主要是在末尾增加配置:
- dataDir=/usr/local/zookeeper/data
- dataLogDir=/usr/local/zookeeper/dataLog
- server.200=master:2888:3888
- server.201=slave1:2888:3888
- server.202=slave2:2888:3888
配置完之后zoo.cfg文件内容是:
- # The number of milliseconds of each tick
- tickTime=2000
- # The number of ticks that the initial
- # synchronization phase can take
- initLimit=10
- # The number of ticks that can pass between
- # sending a request and getting an acknowledgement
- syncLimit=5
- # the directory where the snapshot is stored.
- # do not use /tmp for storage, /tmp here is just
- # example sakes.
- dataDir=/tmp/zookeeper
- # the port at which the clients will connect
- clientPort=2181
- # the maximum number of client connections.
- # increase this if you need to handle more clients
- #maxClientCnxns=60
- #
- # Be sure to read the maintenance section of the
- # administrator guide before turning on autopurge.
- #
- # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
- #
- # The number of snapshots to retain in dataDir
- #autopurge.snapRetainCount=3
- # Purge task interval in hours
- # Set to "0" to disable auto purge feature
- #autopurge.purgeInterval=1
- dataDir=/usr/local/zookeeper/data
- dataLogDir=/usr/local/zookeeper/dataLog
- server.200=master:2888:3888
- server.201=slave1:2888:3888
- server.202=slave2:2888:3888
说明:dataDir和dataLogDir需要自己创建,目录可以自己制定,对应即可。server.200中的这个200需要和master这个机器上的dataDir目录中的myid文件中的数值对应。server.201中的这个201需要和slave1这个机器上的dataDir目录中的myid文件中的数值对应。server.202中的这个202需要和slave2这个机器上的dataDir目录中的myid文件中的数值对应。当然,数值你可以随便用,只要对应即可。2888和3888的端口号也可以随便用,因为在不同机器上,用成一样也无所谓。
1.3在3台机器配置zookeeper环境变量
sudo gedit /etc/profile
在每个节点配置环境变量/etc/profile
- #set zookeeper environment
- export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.6
- export PATH=$ZOOKEEPER_HOME/bin:$PATH
source /etc/profile
2 启动和测试集群
2.1 启动zookeeper集群
下面的步骤是手动启动zookeeper的步骤。
分别在3台机器上执行下面的命令,启动机器上安装的zookeeper,master、slave1、slave2的启动顺序无关紧要,也没必要说一台启动完成后在去启动另外一台,随意就行,没有关系的。
执行启动的命令是:
/usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh start
master机器
如图:
slave1机器
如图:
slave2机器
如图:
2.2 测试
查看zookeeper集群中的zookeeper节点的状态,会发现其中一个是leader,其余是follower。分别在3台机器上执行命令查看zookkeeper状态。按下面步骤操作:
在master上执行命令:
/usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh status
如图:
在slave1上执行命令:
/usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh status
如图:
在slave2上执行命令:
/usr/local/zookeeper/zookeeper-3.4.6/bin/zkServer.sh status
如图:
参考自:http://blog.csdn.net/pucao_cug/article/details/72228973