天天看點

SQuirrel sql工具之java.util.concurrent.TimeoutException解決之道

使用 SQuirrel連接配接hbase的phoenix時報如下異常:

java.util.concurrent.TimeoutException

at java.util.concurrent.FutureTask.get(FutureTask.java:205)

at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(OpenConnectionCommand.java:132)

at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(OpenConnectionCommand.java:45)

at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(OpenConnectionCommand.java:115)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)
           

針對這個問題談談怎麼解決問題和解決問題的方法:

解決方法:

a 百度之後,發現有的說是 ZK 伺服器有一台沒啟動好,但是使用 伺服器上的 phoenix 用戶端連接配接 zk 所有的伺服器是正常的。
      b 思考能不能找到運作的日志,看看日志上有沒有詳細的異常資訊,亂點之中,打開了潘多拉魔盒,請看截圖 , 注意小紅色的框框。![image](https://yqfile.alicdn.com/0ef43264b50c4d79bd8f0dae0607733ddf981f17.png)
     c 有了日志資訊發現 , 需要在工具運作的機器上配置  C:\Windows\System32\drivers\etc\hosts  host 與 ip 映射關系
       d 還發現需要 打開 16020,16000 這兩個端口的防火牆,使用 telnet  ip  port  檢查,最後問題解決了
       e 總結: 安裝SQuirrel工具請參考文章:http://www.aboutyun.com/thread-15163-1-1.html           

安裝phoenix,請參考文章:

https://blog.csdn.net/naioonai/article/details/80680023

SQuirrel 連接配接過程 : 先連接配接 zk 伺服器,在Drivers 中配置ZK的ip和端口,預設是 2181端口。 然後根據 zk 伺服器傳回的資訊再連接配接 hbase regionserver 的 16020 16000 這兩個端口(根據日志去設定,我的hbase是這兩個端口)。