1. 程式人生 > 實用技巧 >記一次定位zookeeper連線不上的問題

記一次定位zookeeper連線不上的問題

起因,想起來分散式鎖也是常考的知識點,自己還不是太熟,就想著在網上找個demo學學

找到了一個看上去還不錯的,他使用的是ZkClient這個客戶端。

由於我之前在工程裡測試過kafka,而kafka其實是自帶ZkClient客戶端的,版本是

<dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.10</version>
      <scope>compile</scope>

程式碼看上去沒問題,但是一執行就爆連不上zk服務端。我用一個第三方工具測試,沒問題可以連。

又本地telent 注意使用telnet x.x.x.x 2181 IP和埠之間是空格。發現本地是可以連上的。

初步懷疑api的問題,也就是版本問題。

不過還不死心,我又用了第二種zk客戶端Zookeeper

<dependency>
          <groupId>org.apache.zookeeper</groupId>
          <artifactId>zookeeper</artifactId>
          <version>3.6.2</version>
      </dependency>

發現這個是好的,那就說明真的是api的問題了。

在公司的私服上搜索了ZkClient的最新版本,用最新版本重新編譯執行,就完全ok了。

本文要點就兩個

1 telnet 可以測試埠的連線性 注意ip和埠之間 不是冒號而是空格

2 定位問題要有想法,多種可能都試試