hadoop入门2---zookeeper伪集群安装

    xiaoxiao2025-03-14  26

    一、参考http://www.cnblogs.com/jxwch/p/6433310.html 1.配置文件zoo.cfg,地址采用域名(如hcb.com),改为如下:

    tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/modules/zookeeper-3.4.9-1/data # diff zk instance port is deff modify by hcb clientPort=2181 # add by hcb server.1=hcb.com:2188:3888 server.2=hcb.com:2189:3889 server.3=hcb.com:2190:3890

    注意:1、不同的zookeeper实例,因为在同一机器上,所以端口要不同

    2、server.1要使用域名hcb.com

    2.配置文件myid

    3.启动zookeeper /opt/modules/zookeeper-3.4.9-3/bin/zkServer.sh start

    4.查看zookeeper /opt/modules/zookeeper-3.4.9-3/bin/zkServer.sh status

    5.查看进程 jps

    6.关闭zookeeper /opt/modules/zookeeper-3.4.9-3/bin/zkServer.sh stop

    二、常见问题整理 1、问题1: 报错: zookeeper-3.4.9-2/bin/zkServer.sh status显示 Error contacting service. It is probably not running 或 zookeeper.out中错误日志 2019-05-19 02:44:32,642 [myid:1] - WARN  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@400] - Cannot open channel to 3 at election address localhost/127.0.0.1:3890 java.net.ConnectException: Connection refused     at java.net.PlainSocketImpl.socketConnect(Native Method)     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)

    解决办法

        产生上述两条Waring信息是因为zookeeper服务的每个实例都拥有全局的配置信息,他们在启动的时候需要随时随地的进行leader选举,此时server1就需要和其他两个zookeeper实例进行通信,但是,另外两个zookeeper实例还没有启动起来,因此将会产生上述所示的提示信息。当我们用同样的方式启动server2和server3后就不会再有这样的警告信息了。

    2、问题2 报错: 2019-05-25 20:56:09,482 [myid:1] - INFO  [WorkerReceiver[myid=1]:FastLeaderElection@600] - Notification: 1 (message format version), 1 (n.leader), 0x0 (n.zxid), 0x1 (n.round), LOOKING (n.state), 1 (n.sid), 0x2 (n.peerEpoch) LOOKING (my state) 2019-05-25 20:56:09,485 [myid:1] - WARN  [WorkerSender[myid=1]:QuorumCnxManager@400] - Cannot open channel to 2 at election address /192.168.175.128:3889 java.net.ConnectException: Connection refused     at java.net.PlainSocketImpl.socketConnect(Native Method)     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)     at java.net.Socket.connect(Socket.java:579)     at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:381)     at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:354)     at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:452)     at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:433)     at java.lang.Thread.run(Thread.java:745) 2019-05-25 20:56:09,487 [myid:1] - INFO  [WorkerSender[myid=1]:QuorumPeer$QuorumServer@149] - Resolved hostname: 192.168.175.128 to address: /192.168.175.128 2019-05-25 20:56:09,487 [myid:1] - WARN  [WorkerSender[myid=1]:QuorumCnxManager@400] - Cannot open channel to 3 at election address /192.168.175.128:3890

    解决办法: 修改配置文件zoo.cfg,地址采用域名(如hcb.com),改为如下: #server.1=127.0.0.1:2188:3888

    #server.2=127.0.0.1:2189:3889

    #server.3=127.0.0.1:2190:3890

    #server.1=192.168.175.128:2188:3888

    #server.2=192.168.175.128:2189:3889

    #server.3=192.168.175.128:2190:3890

    server.1=hcb.com:2188:3888

    server.2=hcb.com:2189:3889

    server.3=hcb.com:2190:3890

     

    最新回复(0)