使用 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是这两个端口)。