Centos7安装伪分布式zookeeper

本文中的myid的文件路径分别为:

/export/server/zookeeper/zk-1/zookeeper-3.4.6/data/
/export/server/zookeeper/zk-2/zookeeper-3.4.6/data/
/export/server/zookeeper/zk-3/zookeeper-3.4.6/data/

1.下载安装zookeeper 3.4.6版本

[root@VM_0_2_centos zk-1]# wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
[root@VM_0_2_centos zk-1] tar -zvxf zookeeper-3.4.6.tar.gz zk-1

2.配置zookeeper

2.1创建data、logs文件夹

[root@VM_0_2_centos zookeeper-3.4.12]# mkdir data
[root@VM_0_2_centos zookeeper-3.4.12]# mkdir logs

2.2在data目录下创建myid文件

文件内容为1

2.3修改zoo.cfg文件

在conf目录下拷贝 zoo_sample.cfg文件 重新命名为 zoo.cfg

[root@VM_0_2_centos conf]# cp zoo_sample.cfg zoo.cfg

内容为:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/export/server/zookeeper/zk-1/zookeeper-3.4.6/data/
dataLogDir=/export/server/zookeeper/zk-1/zookeeper-3.4.6/logs
clientPort=2181

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

注:

zk-2 目录下的

myid 文件内容为 2   clientPort=2182     dataDir、dataLogDir 中的zk-1 替换为zk-2

zk-3 目录下的

myid 文件内容为 3   clientPort=2183     dataDir、dataLogDir 中的zk-1 替换为zk-3

3.测试

测试启动、查看、停止zk
[root@VM_0_2_centos zk-1]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /export/server/zookeeper/zk-1/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@VM_0_2_centos zk-1]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /export/server/zookeeper/zk-1/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
[root@VM_0_2_centos zk-1]# zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /export/server/zookeeper/zk-1/zookeeper-3.4.6/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED


登录zookeeper

zk-1/zookeeper-3.4.6/bin/zkCli.sh -server localhost:2182
zk-1/zookeeper-3.4.6/bin/zkCli.sh  为客户端目录文件
-server 固定写法
localhost:2182 为zk的一个启动ip和端口号

这个安装步骤,3.4.6版本可以正常运行,需要三个全部启动成功才能正常查看状态,如果只启动了其中一个查到的状态会和下面的报错一样。

但是本人用3.4.12启动就会报错,

[root@VM_0_2_centos zookeeper]# zk-1/zookeeper-3.4.12/bin/zkServer.sh status
JMX enabled by default
Using config: /export/server/zookeeper/zk-1/zookeeper-3.4.12/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

查看日志:

2018-06-29 14:02:00,088 [myid:1] - WARN  [WorkerSender[myid=1]:QuorumCnxManager@382] - Cannot open channel to 2 at election address /127.0.0.1:3889
java.net.ConnectException: Connection refused (Connection refused)
	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:368)
	at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
	at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
	at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
	at java.lang.Thread.run(Thread.java:748)
2018-06-29 14:02:00,089 [myid:1] - WARN  [WorkerSender[myid=1]:QuorumCnxManager@382] - Cannot open channel to 3 at election address /127.0.0.1:3890
java.net.ConnectException: Connection refused (Connection refused)
	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:368)
	at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
	at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:449)
	at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
	at java.lang.Thread.run(Thread.java:748)

在同一台机器上不存在端口权限问题,并且端口也已经开放。

这个错在3.4.12版本目前不知道什么原因。

并且zkCli.sh 也登陆不上去,一直连接中断。





猜你喜欢

转载自blog.csdn.net/anyeshenshang1/article/details/80856150