我正在尝试通过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>
它在伪节点集群上工作。但在启用HA的Hadoop集群中失败了。
在HA群集中,我在hbase.rootdir
文件中为hbase-site.xml
属性设置了有效的namenode url而不是HA nameservice。
答案 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。