HBase Cluster-无法通过phoenix客户端连接到hbase

时间:2017-09-13 11:13:15

标签: hbase high-availability phoenix

我正在尝试通过Phoenix连接HBase集群。首先,我将Phoenix客户端和查询服务器jar文件复制到HMaster和HRegion lib文件夹,然后重新启动HBase服务。

服务器 - 通过/bin/queryserver.py启动Phoenix服务器。它运行正常。

客户 - AvaticaClientRuntimeException: Remote driver error: RuntimeException: java.sql.SQLException: No suitable driver found for "http://hacluster:8764".

log details

高可用性集群的Hbase-site.xml文件配置

<property>
  <name>hbase.master</name>
  <value>activenamenode:60000</value> 
</property> 
<property> 
  <name>hbase.rootdir</name> 
  <value>hdfs://hacluster/HBase</value>
</property> 
<property> 
  <name>hbase.cluster.distributed</name> 
  <value>true</value> 
</property> 
<property> 
  <name>hbase.zookeeper.quorum</name> 
  <value>zk1,zk2,zk3</value> 
</property> 
<property> <name>hbase.rpc.timeout</name> 
  <value>60000</value>
<property>

它在伪节点集群上工作。但在启用HA的Hadoop集群中失败了。

在HA群集中,我在hbase.rootdir文件中为hbase-site.xml属性设置了有效的namenode url而不是HA nameservice。

1 个答案:

答案 0 :(得分:0)

问题列在错误消息中:No suitable driver found for http...。不知何故,您正在使用HTTP连接字符串。我不知道Avatica是如何具体工作的,但我假设你想要一个JDBC连接字符串,这是连接凤凰城的最常用方法。

例如: jdbc:phoenix:m1.hdp.local,m2.hdp.local,d1.hdp.local:2181:/hbase-unsecure

有关详细信息,请参阅https://streever.atlassian.net/wiki/spaces/HADOOP/pages/11993090/Phoenix+JDBC+Client+Setup