Centos7下zookeeper集群安装配置

2 篇文章 0 订阅
1 篇文章 0 订阅

一般zookeeper集群通常是由一组机器组成,一般3~5(不小于3个节点)台机器就可以组成一个zookeeper集群了。只要集群中超过半数以上的机器能够正常工作,那么整个集群就能够正常对外提供服务。准备了3台新装的虚拟机192.168.0.110、192.168.0.111、192.168.0.112,由于需要依赖JDK所以先配置好了(此处安装的版本是JDK1.8,百度网盘提取码:i3cw),如果不会的自行百度安装。

1、安装

1.1下载安装包

此处安装的版本是ZK3.6.1,百度网盘提取码:rbmp

官网直接下载:https://zookeeper.apache.org/

1.2解压并安装(或使用yum安装)

安装zookeeper

#把下载好的安装包上传到此目录下
cd /usr/local/software/
tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz
mv apache-zookeeper-3.6.1-bin /usr/local/zookeeper-3.6.1
#同理把安装包上传到另外两台服务器上并解压
scp /usr/local/software/apache-zookeeper-3.6.1-bin.tar.gz 192.168.0.111:/usr/local/software/
scp /usr/local/software/apache-zookeeper-3.6.1-bin.tar.gz 192.168.0.112:/usr/local/software/

修改环境变量

vi /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.6.1
export PATH=.:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
#刷新让配置文件生效
source /etc/profile
#同理把profile文件上传到另外两台服务器上并刷新
scp /etc/profile 192.168.0.111:/etc/profile
scp /etc/profile 192.168.0.112:/etc/profile

修改conf

cd /usr/local/zookeeper-3.6.1/conf/
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
#修改dataDir
dataDir=/usr/local/zookeeper-3.6.1/data
#在最后添加集群配置,server后面的0/1/2可以定义为不同的数字,后面会根据这个标识找到对应的机器 
server.0=192.168.0.110:2888:3888
server.1=192.168.0.111:2888:3888
server.2=192.168.0.112:2888:3888

创建data目录,并创建myid文件

cd /usr/local/zookeeper-3.6.1/
mkdir data
vi myid
#只需要填写内容:0,同理另外两台机器分别填写1、2
scp  /usr/local/zookeeper-3.6.1/conf/zoo.cfg 192.168.0.111:/usr/local/zookeeper-3.6.1/conf/
scp  /usr/local/zookeeper-3.6.1/conf/zoo.cfg 192.168.0.112:/usr/local/zookeeper-3.6.1/conf/
cd /usr/local/zookeeper-3.6.1/conf/
rm -rf zoo_sample.cfg

 2、启动

#启动
zkServer.sh start
#停止
zkServer.sh stop
#重启
zkServer.sh restart
#查看节点状态
zkServer.sh status

通过jps命令我们可以看到zookeeper集群已经启动成功了,但是看不到192.168.0.110是follower/leader。排查日志发现不同节点间防火墙的问题导致连接失败

cd /usr/local/zookeeper3.6.1/logs
tail -f zookeeper-root-server-alidayu111.out

java.net.NoRouteToHostException: 没有到主机的路由 (Host unreachable)
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:558)
	at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:610)
	at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:838)
	at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:957)

 解决办法

#同时对3台服务器执行以下步骤
#关闭zookeeper
zkServer.sh stop
#重启网卡
service network restart
#关闭防火墙
systemctl stop firewalld.service
#禁止启动防火墙
systemctl disable firewalld.service
#启动zookeeper
zkServer.sh start

 3、测试

出现如下说明已经安装成功了~

 使用客户端进行连接

zkCli.sh ls
Connecting to localhost:2181

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值