Zookeeper異常org.apache.zookeeper.KeeperException$ConnectionLossException


在虛擬機上安裝了CenOS Linux系統,然后配置好了 zookeeper的集群環境,在本地寫了一個Zookeeper測試程序,如下:

package com.xbq.zookeeper;

import java.io.IOException;

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;

/** 
 * @ClassName: ZookeeperDemo
 * @Description: TODO zookeeper測試
 * @author xbq
 * @version 1.0
 * @date 2017-3-10 下午5:05:16
 */
public class ZookeeperDemo {

    private static final int SESSION_TIMEOUT = 3000;
    
    public static void main(String[] args) {
        try {
            ZooKeeper zooKeeper = new ZooKeeper("192.168.242.128:2183", SESSION_TIMEOUT, new Watcher() {
                @Override
                public void process(WatchedEvent event) {
                    System.out.println("觸發事件:" + event.getType());
                }
            });
            zooKeeper.create("/node_xbq", "coder".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
            System.out.println(new String(zooKeeper.getData("/node_xbq", true, null)));
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

執行之后,出現如下錯誤:

org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /node_xbq
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
    at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:1412)
    at com.xbq.zookeeper.ZookeeperDemo.main(ZookeeperDemo.java:32)

解決方法:

  關閉Linux的防火牆。 執行 service iptables stop。

  CentOS Linux開啟和關閉防火牆命令有兩種,一種是臨時的,重啟即復原;另外一種是永久性的,重啟不會復原。  

 1) 臨時生效,重啟后復原  
     開啟: service iptables start  
     關閉: service iptables stop  
2) 永久性生效,重啟后不會復原 開啟: chkconfig iptables on 關閉: chkconfig iptables off

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM