Zookeeper完全分布式集群的搭建
一、集群模式
1、单机模式(用于测试环境)
在zoo.cfg中只配置一个server.id就是单机模式了。
2、伪分布式(用于测试环境)
在zoo.cfg中配置多个server.id,其中ip都是当前机器,而端口各不相同,启动时就是伪集群模式了。
3、完全分布式(用于生产环境)
多台机器各自配置zoo.cfg文件,将各自互相加入服务器列表,上面搭建的集群就是这种完全分布式。
二、zookeeper完全分布式集群的搭建
搭建zookeeper集群需要最少三台机器,需要安装jdk作为基础支持。此次使用的zookeeper-3.4.14版本。
1、环境
服务器列表(此处设置了域名):
192.168.0.85 gmg_server02
192.168.0.86 gmg_server03
192.168.0.90 gmg_server04
OS版本: Centos7.4
JDK版本: jdk_1.8
ZK版本: zookeeper-3.4.14安装目录:
/home/programs/jdk1.8
/home/programs/zookeeper
2、安装jdk、zookeeper 以及设置环境变量。
vi /etc/profile
# 增加以下内容:
export ZOOKEEPER_HOME=/home/programs/zookeeper
export JAVA_HOME=/home/programs/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ZOOKEEPER_HOME/bin
source /etc/profile
3、搭建集群
a.集群配置
cp zoo-sample.cfg zoo.cfg
vim zoo.cfg
增加以下内容:
server.1=gmg_server04:2888:3888
server.2=gmg_server02:2888:3888
server.3=gmg_server03:2888:3888
详细配置参照:https://blog.youkuaiyun.com/shgh_2004/article/details/89281679
b) 为每台服务器唯一的myid
所在目录:dataDir=/tmp/zookeeper(这个是默认路径,可以修改)
cat "1" > myid
c) 相同的操作。在其他两台机器上。 只要修改myid的值即可。
4、启动zookeeper
#启动ZK服务:
bin/zkServer.sh start
#停止ZK服务:
bin/zkServer.sh stop
#重启ZK服务:
bin/zkServer.sh restart
#查看ZK服务状态:
bin/zkServer.sh status
Zookeeper集群需要每台挨个启动,可以是用jps命令查看线程。
启动集群的时候,集群数量启动没有超过一半,状态会有错误提示,当集群启动数量超过一半就会自动转为正常状态,并且此台使集群进入正常工作状态的服务器会成为leader角色,集群中其他服务器的角色为fllower。
Zookeeper集群模式搭建到此完成。