栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

linux 下搭建zookeeper集群 踩坑经过,Java面试题集2021版

linux 下搭建zookeeper集群 踩坑经过,Java面试题集2021版

echo “1” > /usr/local/zookeeper/data/myid

#在192.168.xx.129服务器上面创建myid文件,并设置值为1,同时与zoo.cfg文件里面的server.2保持一致,如下

echo “2” > /usr/local/zookeeper/data/myid

#在192.168.xx.130服务器上面创建myid文件,并设置值为1,同时与zoo.cfg文件里面的server.3保持一致,如下

echo “3” > /usr/local/zookeeper/data/myid

到此 配置结束

然后 同时进入 /usr/zookeeper-3.3.6/bin/ 目录下  启动 ./zkServer.sh start

JMX enabled by default Using config: /usr/zookeeper-3.3.6/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@node0 zookeeper-3.4.6]$ ./bin/**zkServer.sh status** JMX enabled by default Using config: /usr/zookeeper-3.6.6/bin/../conf/zoo.cfg Error contacting service. It is probably not running.zkServer.sh status

JMX enabled by default

Using config: /usr/zookeeper-3.6.6/bin/…/conf/zoo.cfg

Error contacting service. It is probably not running.

start 正常,但是查看状态时,出现如下错误:

Error contacting service. It is probably not running.

停掉ZK,然后以start-foreground方式启动,查看启动日志:

即:zkServer.sh start-foreground ,又出现如下错误:

  1. java.net.BindException: 地址已在使用

  2. at sun.nio.ch.Net.bind0(Native Method)

  3. at sun.nio.ch.Net.bind(Net.java:463)

  4. at sun.nio.ch.Net.bind(Net.java:455)

  5. at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)

  6. at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)

  7. at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)

  8. at org.apache.zookeeper.server.NIOServerCnxnFactory.configure(NIOServerCnxnFactory.java:90)

  9. at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:130)

  10. at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)

  11. at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)

从错误信息来看,是

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

端口被使用了,但我用netstat -lntup是没被使用的,再用 lsof -i:2181,发现了2181端口果然被占用了

[root@ programfiles]# lsof -i:2181

是java的一个进程 占用了端口(这里忘了截图了)。

再次修改 conf/zoo.cfg 将端口号 2181 修改为 21810,重新启动

java.net.NoRouteToHostException: 没有到主机的路由

at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:712)

at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:111)

at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)

at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)

at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)

at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)

又出现了如下错误,真是一部一个坑。

检查了一下防火墙的状态,将其关闭:

centos7.0(默认是使用firewall作为防火墙,如若未改为iptables防火墙,使用以下命令查看和关闭防火墙)

查看防火墙状态:firewall-cmd --state

关闭防火墙:systemctl stop firewalld.service

重新启动:

zkServer.sh start-foreground

java.net.ConnectException: 拒绝连接

at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)

at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:712)

at sun.nio.ch.SocketAdaptor.connect(SocketAdaptor.java:111)

at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:371)

at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:404)

at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:688)

at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:622)

竟然还有错误?!!百度到一片文章,后说需要修改   /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

将第一行注释掉,再次启动:

zkServer.sh start

启动成功!查看一下 状态

zkServer.sh status

[root@localhost bin]# ./zkServer.sh status JMX enabled by default Using config: /usr/zookeeper-3.3.6/bin/../conf/zoo.cfg Mode: followerfollower

[root@localhost bin]# ./zkServer.sh status JMX enabled by default Using config: /usr/zookeeper-3.3.6/bin/../conf/zoo.cfg Mode: leaderleader

[root@localhost bin]# ./zkServer.sh status JMX enabled by default Using config: /usr/zookeeper-3.3.6/bin/../conf/zoo.cfg Mode: followerfollower

至此,zookeeper集群搭建完毕,感觉所有的坑全踩了一遍。对于一个刚刚接触linux 不久的菜鸟来说真的很残忍。希望能够帮到大家!
问题最后解决看的是这篇文章,http://blog.csdn.net/pein_zero/article/details/51855244

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674222.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号