您的位置:首页 > 运维架构 > Linux

Linux上Zookeeper集群的配置

2016-08-22 13:18 232 查看
前提准备:

下载zookeeper安装包:http://zookeeper.apache.org/releases.html

配置一台linux机器(按照如下步骤),并再克隆出两台,再分别配置其IP,修改相关文件。

3台主机的主机名与IP地址的映射配置在/etc/hosts文件中配置;

[root@zk1 ~]# vi /etc/hosts

192.168.1.101   zk1

192.168.1.102   zk2

192.168.1.103   zk3

1.系统环境要求

java环境(要求jdk版本为1.6以上),配置详情请点击这里!

为了达到zookeeper的可靠性要求,集群的配置数目必须为奇数(3,5,7....)最小是3,即你要在3台机器上做同样的处理。其原理:在一个zookeeper集群中,只要半数以上的机器正常工作,整个集群即可处于正常工作的状态。

例如:3台机器组成的集群,只要int(3/2)+1=2台机器正常工作即可。也就是说允许3台中的1台机器宕机。

2.配置步骤:

(1)将zookeeper的安装包上传并解压到指定文件夹

[root@zk1 ~]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring zookeeper-3.4.5.tar.gz...
100% 16017 KB 16017 KB/sec 00:00:01 0 Errors

[root@zk1 ~]# tar -zxvf zookeeper-3.4.5.tar.gz -C /cloud/

(2)重命名配置文件zoo_sample.cfg:
[root@zk1 ~]# cd /cloud/zookeeper-3.4.5/conf/
[root@zk1 conf]# ls
configuration.xsl log4j.properties zoo_sample.cfg
[root@zk1 conf]# cp zoo_sample.cfg zoo.cfg

(3)修改配置文件
[root@zk1 conf]# vi zoo.cfg 

找到dataDir将其修改为:

dataDir=/cloud/zookeeper-3.4.5/data

之后在文件末尾添加如下内容

server.1=zk1:2888:3888

server.2=zk2:2888:3888

server.3=zk3:2888:3888

(4)创建zookeeper的数据存放目录,刚才在zoo.cfg中配置过,但实际还未存在,所以这里创建。

[root@zk1 conf]# cd ..

[root@zk1 zookeeper-3.4.5]# mkdir data

[root@zk1 zookeeper-3.4.5]# cd data

[root@zk1 data]# vi myid

1

新建并编辑myid文件,第一台机器的id为1

(5)将配置好的zookeeper通过SSH协议拷贝到其他两台机器上(提前在那两台机器上创建/cloud目录)

scp -r /cloud/zookeeper-3.4.5/ zk2:/cloud/
scp -r /cloud/zookeeper-3.4.5/ zk3:/cloud/

如果这里提示输入密码你先麻烦,你可以配置SSH免密码登录

(6)拷贝完成后,修改那两台机器的相应的myid文件分别为2、3;(在/cloud/zookeeper-3.4.5/data目录下)

(7)启动zookeeper

分别在3台机器上/cloud/zookeeper-3.4.5/bin目录下启动;

[root@zk1 bin]# ./zkServer.sh start

来启动,./zkServer.sh restart(重启);./zkServer.sh status(查看状态);./zkServer.sh stop(关闭)

[root@zk1 bin]# ./zkServer.sh status
JMX enabled by default
Using config: /cloud/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: leader

[root@zk2 bin]# ./zkServer.sh status
JMX enabled by default
Using config: /cloud/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower


[root@zk3 bin]# ./zkServer.sh status
JMX enabled by default
Using config: /cloud/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower


(8)验证zookeeper的高可靠性:
关掉其中一台机器上的zookeeper,查看其他两台机器上zookeeper的status
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zookeeper 集群 zk Java hadoop