5

我正在尝试通过 Squirrel 客户端连接到 Phoenix。我在 Squirrel 日志中收到以下日志。日志表明与 zooperkeeper 的 ClientConnection 已建立,但是当 SQLClient Connection 建立时出现超时异常,它会失败。

我已经将phoenix客户端jar复制到Squirrel的lib目录下,驱动注册成功。此外,当我在 localhost 中运行 SQLLine.py 实用程序时,它会成功地将 SQL 命令行加载到 Phoenix,我可以运行这些命令。也将 phoenix core jar 添加到 $HBASE_HOME/lib 文件夹中。

2015-06-15 12:48:53,766 [pool-7-thread-1] INFO  org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper  - Process identifier=hconnection-0x776a1002 connecting to ZooKeeper ensemble=10.58.126.245:2181
2015-06-15 12:48:53,766 [pool-7-thread-1] INFO  org.apache.zookeeper.ZooKeeper  - Initiating client connection, connectString=10.58.126.245:2181 sessionTimeout=90000 watcher=hconnection-0x776a10020x0, quorum=10.58.126.245:2181, baseZNode=/hbase
2015-06-15 12:48:58,287 [pool-7-thread-1-SendThread(10.58.126.245:2181)] INFO  org.apache.zookeeper.ClientCnxn  - Opening socket connection to server 10.58.126.245/10.58.126.245:2181. Will not attempt to authenticate using SASL (unknown error)
2015-06-15 12:48:58,301 [pool-7-thread-1-SendThread(10.58.126.245:2181)] INFO  org.apache.zookeeper.ClientCnxn  - Socket connection established to 10.58.126.245/10.58.126.245:2181, initiating session
2015-06-15 12:48:58,314 [pool-7-thread-1-SendThread(10.58.126.245:2181)] INFO  org.apache.zookeeper.ClientCnxn  - Session establishment complete on server 10.58.126.245/10.58.126.245:2181, sessionid = 0x14df5b87b120040, negotiated timeout = 90000
2015-06-15 12:49:58,100 [pool-7-thread-1] INFO  org.apache.hadoop.hbase.client.RpcRetryingCaller  - Call exception, tries=10, retries=35, started=59774 ms ago, cancelled=false, msg=
2015-06-15 12:50:20,456 [pool-7-thread-1] INFO  org.apache.hadoop.hbase.client.RpcRetryingCaller  - Call exception, tries=11, retries=35, started=82130 ms ago, cancelled=false, msg=
2015-06-15 12:50:36,114 [AWT-EventQueue-1] ERROR net.sourceforge.squirrel_sql.client.gui.db.ConnectToAliasCallBack  - Unexpected Error occurred attempting to open an SQL connection.
java.util.concurrent.TimeoutException
    at java.util.concurrent.FutureTask.get(FutureTask.java:201)
    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:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
4

1 回答 1

2

我有同样的问题,还没有找到解决方案,但我设法改用“瘦”客户端。

  1. 启动 queryserver https://phoenix.apache.org/server.html应该监听 8765 端口

  2. 将 JAR phoenix-4.6.0-HBase-1.1-thin-client 复制到 Squirel lib 文件夹

  3. 新建驱动,类名为“org.apache.phoenix.queryserver.client.Driver”

  4. 使用此驱动程序连接(我的 URI:jdbc:phoenix:thin:url= http://docker:8765

于 2015-12-02T18:08:38.923 回答