最近在配置zookeeper的時候踩了兩個坑java
啓動zookeeper,控制檯顯示started,我覺得成功了,可是啓動java應用的時候,控制檯一直在報錯,Opening socket connection to server localhost/127.0.0.1:2181. Will not attem...
,顯然失敗了。apache
找到zookeeper的安裝路徑,log目錄下有個輸出日誌,打開日誌,裏面就提示一行找不到或沒法加載主類 org.apache.zookeeper.server.quorum.QuorumPeerMainError contacting service.
,這是由於zookeeper的安裝包下載錯了,下載安裝包要找帶有bin的,3.5.7下載地址以下:tomcat
解決上述問題後,從新啓動zookeeper,控制檯又提示started,又給我一種成功的錯覺,而後我啓動tomcat,打開dubbo的admin監控頁面查看,仍是沒有東西,顯然,又失敗了。服務器
再次打開zookeeper的日誌,有如下關鍵字java.net.BindException: Address already in use
,應該是8080端口被佔用了,我服務器中的tomcat佔用了8080端口,而zookeeper最近的版本中有個內嵌的管理控制檯是經過jetty啓動,也會佔用8080 端口。那麼在zoo.cfg中增長admin.serverPort=沒有被佔用的端口號就能解決了,再次重啓。完美解決!socket