Zookeeper入門-Linux環境下異常ConnectionLossException解決
實際專案開發中,用的是Linux環境。
中午突然斷電,死活連不上Zookeeper,最終發現是需要關閉防火牆。
看日誌,報錯如下:
Exception in thread "main" org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /test
at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1501)
at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1529)
at com.jiq.test.ZooKeeperTest.main(ZooKeeperTest.java:12)
經過實踐,最終發現是“防火牆”的原因。
主要參考了網上的一篇文章。
不正確的解決辦法:
“上網一查,全是說什麼到Zookeeper服務的連線未完成,說是加下面這段程式碼就好了:
CountDownLatch connectedLatch = new CountDownLatch(1);
if (States.CONNECTING == zk.getState()) {
try {
connectedLatch.await();
} catch (InterruptedException e) {
throw new IllegalStateException(e);
}
}
我覺得這有點扯淡,首先官網沒有任何提到要加這樣的程式碼來等待連線準備好的話語,其次為什麼本機可以,遠端就不行,難道天生本機就一定能夠快速建立好連線,遠端就要等一等麼?
於是我決定自己思考,想了一天才覺得可能是防火牆問題,於是把windwos server 2008防火牆關閉,OK了,把CentOS防火牆關閉,也OK了,哎!”
看了這個哥們的描述,我深以為然啊。
我也嘗試過,加一些亂七八糟的程式碼,發現都不能解決問題。
最終,嘗試了這個哥們的“關閉防火牆”的解決辦法。
但是,這篇文章中,永久關閉防火牆的那種方式,是不對的,只要使用了,Zookeeper就連線不上。
“CentOS關閉防火牆命令:
CentOS Linux開啟和關閉防火牆命令有兩種,一種是臨時的,重啟即復原;另外一種是永久xìng的,重啟不會復原。
1) 臨時生效,重啟後復原
開啟: service iptables start
關閉: service iptables stop
2) 永久xìng生效,重啟後不會復原
開啟: chkconfig iptables on
關閉: chkconfig iptables off
我執行的是永久修改的命令,執行完了也可以不重啟電腦,重啟防火牆服務即可: service iptables restart ”
實際中,我用的是臨時的關閉防火牆的辦法,這樣,如果伺服器再次斷電重啟,還需要手動關閉。
這個哥們貌似是“永久關閉防火牆”,反正我也試了,永久關閉,總是不行,可能是我的問題。
這個哥們說,不用重啟伺服器,反正我沒有重啟,不知道重啟了效果會如何。
一點感想
自己遇到的很多問題,網上基本都有答案了。
優先用別人的解決辦法,是非常合適的,比較迅速,很快提升自己解決問題的能力。
技術框架之類的,主要還是別人生成,在水平不夠之前,“拿來主義”是不錯的。
隨便一個工具框架,自己去搞,至少得個把月上年吧~
整理自己的技術體系,管理自己遇到的問題,很有必要。
一句話:建立健全自己的技術體系和社會生存能力體系。(怎麼感覺像是官方檔案呢~)
最近,抽空,分享下自己的瀏覽器收藏夾,和一些知識管理的心得體會~
參考資料
Zookeeper異常ConnectionLossException解決
http://www.sjsjw.com/kf_cloud/article/022572ABA018042.asp
相關文章
- wegame當前上網環境異常,請更換網路環境怎麼解決GAM
- ZooKeeper環境搭建
- Linux詳解(基礎、環境配置、專案部署入門)Linux
- zookeeper入門(2)解讀zookeeper的配置項
- ZooKeeper 系列(二)—— Zookeeper單機環境和叢集環境搭建
- docker 入門講解 - 構建本地環境Docker
- 【LaTeX入門】02、CJK環境講解
- zookeeper入門
- Linux環境下的Mysql資料庫入門-基於Centos系統LinuxMySql資料庫CentOS
- win10遊戲環境異常請重啟機器後再試怎麼解決Win10遊戲
- linux環境下ssh不輸入密碼Linux密碼
- Ionic異常及解決
- PHP入門-Window 下利用Nginx+PHP 搭建環境PHPNginx
- Zookeeper 叢集環境搭建
- golang 入門之環境搭建Golang
- Meilisearch 快速入門(Windows 環境)Windows
- ARM開發環境入門開發環境
- Mule 入門之:環境搭建
- 入門(一)搭建GAE環境
- 陌陌登入裝置異常怎麼解決
- javaWeb常見異常的解決方法JavaWeb
- Zookeeper入門指南
- zookeeper 快速入門
- Zookeeper快速入門
- 【轉】Zookeeper入門
- ZooKeeper 入門指引
- Zookeeper--入門
- ZooKeeper 入門教程
- LInux下環境變數配置錯誤導致不能登入的及命令失效解決方案Linux變數
- Shell入門:掌握Linux,OS X,Unix的Shell環境Linux
- Nacos 解決 laravel 多環境下配置切換Laravel
- Oracle 11g RAC環境下Private IP修改方法及異常處理Oracle
- flume file channel 異常解決
- Unknowncolumn'*'in'fieldlist'異常解決
- Java入門教程十一(異常處理)Java
- Docker 入門(Mac環境)-part 1 入門基本操作DockerMac
- win10系統玩qq飛車提示您的遊戲環境異常最佳解決方法Win10遊戲
- Windows單機配置Zookeeper環境Windows