当前位置: 首页 > 知识库问答 >
问题:

HBase群集-无法通过phoenix客户端连接到HBase

封永嘉
2023-03-14

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

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

客户端-AvaticaClientRuntimeException:远程驱动程序错误:RuntimeException:java.sql.SQLException:找不到“http://hacluster:8764”的合适驱动程序。

<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集群中失败。

在高可用性集群中,我已经为hbase-site.xml文件中的hbase.rootdir属性设置了活动名称代码url而不是高可用性名称服务。

共有1个答案

唐默
2023-03-14

错误消息中列出了该问题:找不到适用于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了解更多详细信息。

 类似资料:
  • 从任何远程计算机将Apache Phoenix JDBC客户端(我使用sqlline.py进行测试)连接到Hbase时遇到问题。 我测试的方式如下: 我ssh到另一台运行linux的机器,然后尝试连接到我的zookeeper仲裁(目前只有一台机器:christianwith-KP): 尝试连接后,命令行什么也不做,几分钟后我得到了很多Java错误消息。 这是来自日志文件Zookeeper.out的

  • 我编写了一个简单的HBase客户端程序来在我的HBase集群(1个主服务器和3个区域服务器)中执行CRUD操作。Zookeeper实例仅在主服务器中运行,仲裁包括所有4台服务器。集群运行良好,可以使用YCSB客户端执行读/写操作(意味着服务器/Zookeeper端没有任何错误)。 现在,在eclipse类路径中,我添加了所有HBase库和hbase-0.94.7.jar(包含hbase-defau

  • 问题内容: 我为远程服务器编写了以下hbase客户端类: 它引发了一些异常: 您能告诉我为什么会引发异常,代码有什么问题以及如何解决它。 问题答案: 由于您的HBase服务器的hosts文件,因此会发生此问题。 您只需要编辑HBase服务器的/ etc / hosts文件。 从该文件中删除localhost条目,然后将localhost条目放在HBase服务器IP的前面。 例如,您的HBase服务

  • 我在伪分布式设置中使用Hbase 1.2.6、Phoenix-4.13.1-Hbase 1.2、hadoop 2.9.0。我可以在hbase shell中创建表,我想使用phoenix来读取那些表。运行'sqlline.py localhost:2181:/hbase-unsecure'时出现以下错误: hbase-site.xml文件: