使用 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 思考能不能找到運作的日志,看看日志上有沒有詳細的異常資訊,亂點之中,打開了潘多拉魔盒,請看截圖 , 注意小紅色的框框。
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/80680023SQuirrel 連接配接過程 : 先連接配接 zk 伺服器,在Drivers 中配置ZK的ip和端口,預設是 2181端口。 然後根據 zk 伺服器傳回的資訊再連接配接 hbase regionserver 的 16020 16000 這兩個端口(根據日志去設定,我的hbase是這兩個端口)。