您的位置:首页 > 其它

zookeeper 3.4.6集群搭建

2016-01-30 16:51 483 查看
在搭建Zookeeper集群之前,首先需要确保的就是主机名称(可选)、hosts都已经更改,JDK成功安装,并且JAVA_HOME要配置正确。

 

1、安装Zookeeper

使用命令“tar -zxvf”命令将gz压缩文件解压。笔者Zookeeper的安装包所在的目录为:“/usr/local/zookeeper/zookeeper-3.4.6.tar.gz”,解压后的目录为/usr/local/zookeeper/zookeeper-3.4.6”,最好确保三台机器上的Zookeeper安装路径一致。

 

2、配置Zookeeper的环境变量

成功安装Zookeeper后,接下来要做的事情就是配置Zookeeper的环境变量,并通过命令“source “/etc/profile”命令使修改后的配置生效,如下所示:

Shell代码  


#ZOOKEEPER  

ZOOKEEPER=/usr/local/zookeeper/zookeeper-3.4.6  

PATH=$PATH:$ZOOKEEPER/bin  

 

3、修改Zookeeper的配置文件

首先将/usr/local/zookeeper/zookeeper-3.4.6/conf/zoo_sample.cfg文件复制一份,并更名为zoo.cfg,

在/usr/local/zookeeper/zookeeper-3.4.6/conf目录下命令:cp zoo_sample.cfg zoo.cfg

如下所示:

Shell代码  


# The number of milliseconds of each tick  

tickTime=2000  

# The number of ticks that the initial   

# synchronization phase can take  

initLimit=10  

# The num
4000
ber 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=/home/hadoop/zk/data  

dataLogDir=/home/hadoop/zk/log  

# 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  

server.1=172.16.10.161:2888:3888

server.2=172.16.10.162:2888:3888

server.3=172.16.10.163:2888:3888

 说明:

server.n=a:b:c:其中 n 是一个数字,表示这个是第几号服务器;a 是这个服务器的 ip 地址;b 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口(也可以叫做检测端口号);c 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口(也可以叫做选举端口号)。

4.在/usr/local/zookeeper/zookeeper-3.4.6
目录下创建两个文件夹data和logs


命令:mkdir data  logs
然后修改zoo.cfg文件中的dataDirdataLogDir为:

dataDir=/usr/local/zookeeper/zookeeper-3.4.6/data

dataLogDir=/usr/local/zookeeper/zookeeper-3.4.6/logs

 

5、创建myid文件

在dataDir目录下创建一个myid文件,然后在myid文件中输入zoo.cfg文件的server.n中n的数值

命令:echo 1 > myid

6、在其他另外两个虚拟机上重复以上3---5步骤

    注意:第5步的myid中对应的值分别为2和3

    即命令:echo 2 > myid  和 命令:echo 3 > myid

 

6、启动Zookeeper

如果三个虚拟机的以上配置都OK并且没问题的话就可以启动了。

在/usr/local/zookeeper/zookeeper-3.4.6目录下

执行命令“sh bin/zkServer.sh start”将会启动zookeeper。三个虚拟机中的zookeeper都需要单独启动。

启动成功后zookeeper会自动根据选举算法选一台作为leader,其他两台则为follower

 

可以执行命令“ sh bin/zkServer.sh status”查看zookeeper集群状态,如下图所示:

Shell代码  


#172.16.10.161

JMX enabled by default  

Using config: /usr/local/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg

Mode: follower  

  

#172.16.10.162

JMX enabled by default  

Using config: /usr/local/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg

Mode: leader  

  

#172.16.10.163

JMX enabled by default  

Using config: /usr/local/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg 

Mode: follower  

执行命令“sh bin/zkServer.sh stop”将会停止zookeeper。

执行命令“sh bin/zkServer.sh restart”将会重启zookeeper。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zookeeper