Zookeeper方案 zookeeper服务器集群规模不小于3个节点,要求服务器之间系统时间保持一致。

  

主机IP

消息端口

通信端口

节点目录/usr/local/下

192.168.74.155

2181

2888:3888

zookeeper

192.168.74.156

2181

2888:3888

zookeeper

192.168.74.157

2181

2888:3888

zookeeper

1、拷贝zookeeper安装文件 zookeeper-3.4.5.tar.gz 到 /usr/local/software 文件夹下

2、解压 安装文件 到 /usr/local 路径下 tar -zxvf /usr/local/software/zookeeper-3.4.5.tar.gz -C /usr/local/

3、重命名文件夹 cd /usr/local mv zookeeper-3.4.5 zookeeper

4、重命名配置文件 cd /usr/local/zookeeper/conf mv zoo_sample.cfg zoo.cfg

5、修改配置文件vim zoo.cfg -->

1、dataDir=/usr/local/zookeeper/data 修改完后需要 创建一个 data文件夹

2、在最后面添加集群节点信息 可以写主机名 也可以写 ip地址

server.0=192.168.74.155:2888:3888

server.1=192.168.74.156:2888:3888

server.2=192.168.74.157:2888:3888

6、服务器标识配置

1、创建 data文件夹 mkdir /usr/local/zookeeper/data

2、在这个文件夹下 创建文件 myid(内容为服务器标识 155-->0 / 156-->1 / 157-->2) vim /usr/local/zookeeper/data/myid

7、修改环境变量 vim /etc/profile

export ZOOKEEPER_HOME=/usr/local/zookeeper

export PATH=.:$ZOOKEEPER_HOME/bin:$PATH

  

8、刷新环境变量 执行命令 source /etc/profile

9、三个服务器的配置文件都要修改,或者修改一台,然后把 zookeeper文件夹 拷贝到 另外两天服务器上面,包括 profile文件

然后修改另外两台服务器的 myid 文件的值 为 1 和 2

10、启动zookeeper

启动路径:/usr/local/zookeeper/bin

执行启动:zkServer.sh start(注意这里三台服务器都要进行启动 由于配置了环境变量,直接执行命令即可)

查看状态:zkServer.sh status(在三个节点上检测zk的mode,一个leader和两个follower)

  

11安装启动异常

Error contacting service. It is probably not running.

网上问题答案有许多种,一一归纳:

1. zoo.cfg配置文件中指定目录却没有创建! 创建相应目录即可。

2. zoo.cfg中dataDir指定路径为Myid文件的路径。

Myid内容与:server.?=localhost:2888:3888 中你所设置?一致!

3.使用service iptables stop 关闭防火墙

使用service iptables status确认

4. 1,打开zkServer.sh 找到

status)

STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode`

在nc与localhost之间加上 -q 1 (是数字1而不是字母l)

如果已存在则去掉

5.2181端口被占用! #我就是死在这的,死了很久很久。。

zkServer.sh stop #先停止zookeep

netstat -an | grep 2181 #查看端口是否占用,如果占用

clientPort = 2888 #随便找个没占用的端口号!

  

 

  

  

  

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐