RedHat6.5安装zookeeper集群

版本号:

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配置文件都修改成一样的内容,主要是在末尾增加配置:


  1. dataDir=/usr/local/zookeeper/data
  2. dataLogDir=/usr/local/zookeeper/dataLog
  3. server.200=master:2888:3888
  4. server.201=slave1:2888:3888
  5. server.202=slave2:2888:3888

 配置完之后zoo.cfg文件内容是:


  1. # The number of milliseconds of each tick
  2. tickTime=2000
  3. # The number of ticks that the initial 
  4. # synchronization phase can take
  5. initLimit=10
  6. # The number of ticks that can pass between 
  7. # sending a request and getting an acknowledgement
  8. syncLimit=5
  9. # the directory where the snapshot is stored.
  10. # do not use /tmp for storage, /tmp here is just 
  11. # example sakes.
  12. dataDir=/tmp/zookeeper
  13. # the port at which the clients will connect
  14. clientPort=2181
  15. # the maximum number of client connections.
  16. # increase this if you need to handle more clients
  17. #maxClientCnxns=60
  18. #
  19. # Be sure to read the maintenance section of the 
  20. # administrator guide before turning on autopurge.
  21. #
  22. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
  23. #
  24. # The number of snapshots to retain in dataDir
  25. #autopurge.snapRetainCount=3
  26. # Purge task interval in hours
  27. # Set to "0" to disable auto purge feature
  28. #autopurge.purgeInterval=1
  29.  
  30. dataDir=/usr/local/zookeeper/data
  31. dataLogDir=/usr/local/zookeeper/dataLog
  32. server.200=master:2888:3888
  33. server.201=slave1:2888:3888
  34. 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


  1. #set zookeeper environment
  2. export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.6
  3. 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

原文地址:https://www.cnblogs.com/yangcx666/p/8723889.html