Zookeeper之啟動常見錯誤及解決方法


Zookeeper啟動后,有時候沒有真正的啟動,那我們如何查找錯誤呢,就可以查看zookeeper目錄下面的zookeeper.out文件,就可以查看到錯誤了。zookeeper.out文件比較的重要,對於錯誤的排查,是必不可少的,還有服務器上,如果連接不通,有可能是防火牆的問題

這里寫圖片描述

搭建的時候,數據存儲的目錄結構,每一個zookeeper里面,需要有logs(日志存儲)和data(數據存儲)目錄、myid文件都是在data目錄下面的。

這里寫圖片描述

My id 333 not in the peer list

這個問題的產生是因為服務的id,也就是myid里面配置的,服務的id,需要和zoo.cfg配置文件一致,不然報錯

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.

#數據存儲位置
dataDir=/tmp/zookeeper1/data

#日志文件
dataLogDir=/tmp/zookeeper1/logs
# the port at which the clients will connect
clientPort=2181

#server.NUM=IP:port1:port2 NUM表示本機為第幾號服務器;IP為本機ip地址;
#port1為leader與follower通信端口;port2為參與競選leader的通信端口
#多個實例的端口配置不能重復
server.1=127.0.0.1:2222:2225
server.2=127.0.0.1:3333:3335
server.3=127.0.0.1:4444:4445

   
   
  
  
          

server.A=B:C:D:其中 A 是一個數字,就是myid里的那個數字,表示這個是第幾號服務器;B 是這個服務器的 ip 地址,C和D是兩個端口。

配置文件 myid文件配置有問題和zoo.cfg不統一導致的
這里寫圖片描述

Caused by: java.lang.IllegalArgumentException: /usr/local/zookeeper/zookeeper-3.4.10/data/data/myid file is missing

出現這個問題的原因是,myid文件配置有問題,所導致的,可能是路徑不對,也有可能是文件沒有,需要在自己的data目錄下創建一個myid的文件,里面的編號需要和自己定義的路徑配置好

這里寫圖片描述

Cannot open channel to 1 at election address /127.0.0.1:2225

導致這個問題的原因是,沒有完全啟動所有的zookeeper節點所導致的問題,所有節點都啟動,就不會有這個問題了

#獲取zookeeper啟動信息
cat zookeeper.out
   
   
  
  
          
  
  
 
 
         
  • 1
  • 2

這里寫圖片描述

只有部分節點在集群中

在啟動的集群中,只有 2、3兩個節點在集群中,但是1節點卻是standalone

#查看節點信息
zkServer.sh status 
   
   
  
  
          

這里寫圖片描述

可能導致這個問題的原因是端口占用
這里寫圖片描述

#查看端口
netstat -lnp|grep 2181

#殺死進程 ,然后重啟zookeeper就好了
kill 進程號 

   
   
  
  
          

這里寫圖片描述

原文地址:https://blog.csdn.net/yelllowcong/article/details/78227758


免責聲明!

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



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