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

BAS*_*RAN 7 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".

记录详情

高可用性集群的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>
Run Code Online (Sandbox Code Playgroud)

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

在HA Cluster中,我为文件中的hbase.rootdir属性设置了活动的namenode url而不是HA nameservice hbase-site.xml.

Wat*_*Box 0

错误消息中列出了问题:No suitable driver found for http...。不知何故,您正在使用 HTTP 连接字符串。我不知道 Avatica 具体是如何工作的,但我假设您需要一个 JDBC 连接字符串,这是连接到 Phoenix 之类的最常见的方式。

例如: 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