Zookeeper-3.4.11.jar 集群环境搭建

1. 实验环境Suse Eneterprise Server 11

IP地址:A: 192.168.1.180     B:192.168.1.44      C:192.168.1.215

软件源:http://zookeeper.apache.org/releases.html#download

2.配置集群 

2.1 zookeeper 简介,实践用途可以在apache官网查询,不做过多介绍。个人习惯把软件安装在/usr/local/xxx 

2.2 安全问题,本人虚拟机只能内网访问比较安全,所以关闭了防火墙,且仅使用root权限,有这两个方面困扰的同学只能自行想办法解决,本文不提供解决方案。

解压命令:/usr/local # tar zxvf zookeeper-3.4.11.tar.gz

2.3 原始配置文件:集群发现的关键。解压之后的zookeeper-3.4.11/conf/目录下会自带一个原始的 zoo_sample.cfg 重命名一下 mv zoo_sample.cfg zoo.cfg 

原始的config 文件只有5条基本配置(原始配置文件里有对每条配置的解释),更多配置请参考官网。

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/tmp/zookeeper

clientPort=2181

2.4 修改配置文件,多数配置是允许自定义的,如果客户端端口号与某些软件冲突可以改为其他的端口。但是dataDir 建议是要改的/tmp 目录绝对不是一个好的选择,至于原因没做深入调查。更改之后的zoo.cfg如下:

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/data/zookeeper

clientPort=2181

server.1=192.168.1.180:2888:3888

server.2=192.168.1.215:2888:3888

server.3=192.168.1.44:2888:3888    //ip  可以换成 主机别名,但是需要预配置

为了方便的使用: 我在根目录下新建了一个data目录,不仅可以用来存放zookeeper的数据,还可以存放像redis数据文件之类的。

2.5 [ 配置环境变量 ] 该项可选,

export ZOO_HOME=/usr/local/zookeeper-3.4.11

export ZOO_LOG_DIR=$ZOO_HOME/logs

export PATH=$ZOO_HOME/bin:$PATH

2.6 配置节点ID,注意该ID一定要与配置文件里的保持一致,比如虚拟机A 在配置文件里写的是server1 则A之下数据目录下的myid 必须是1, 一定要保持B,C的配置文件中server 列表与A是一致的。

192.168.1.180:/data/zookeeper # ll

total 12

-rw-r--r-- 1 root root    2 Dec  4 19:58 myid

drwxr-xr-x 2 root root 4096 Dec  4 20:01 version-2

-rw-r--r-- 1 root root    4 Dec  4 20:01 zookeeper_server.pid


192.168.1.180:/data/zookeeper # cat myid

1

3. 启动

3.1启动服务,查看服务状态

在A,B,C 节点下/usr/local/zookeeper-3.4.11/bin # ./zkServer.sh start 启动zookeeper 服务,只要保持大于一半的服务可以用则集群认为状态是正常的

/usr/local/zookeeper-3.4.11 # ./bin/zkServer.sh status

ZooKeeper JMX enabled by default

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

Mode: follower

3.2启用客户端/usr/local/zookeeper-3.4.11 # ./bin/zkCli.sh

[zk: localhost:2181(CONNECTED) 0] ls /

[zookeeper]

你可能感兴趣的:(Zookeeper-3.4.11.jar 集群环境搭建)