Hadoop 无法使用phoenix jdbc驱动程序连接到hbase(无法获取位置错误)

Hadoop 无法使用phoenix jdbc驱动程序连接到hbase(无法获取位置错误),hadoop,jdbc,hbase,phoenix,Hadoop,Jdbc,Hbase,Phoenix,我正在与phoenix(4.10.0-hbase-1.2)一起开发hbase(1.2.6)。 我得到这个错误: org.apache.hadoop.hbase.client.RetriesHaustedException:无法获取位置错误 下面是我尝试使用phoenix连接到hbase的代码: Connection connection = DriverManager.getConnection("jdbc:phoenix:localhost"); 下面是我的hdfs-s

我正在与phoenix(4.10.0-hbase-1.2)一起开发hbase(1.2.6)。 我得到这个错误:

org.apache.hadoop.hbase.client.RetriesHaustedException:无法获取位置错误

下面是我尝试使用phoenix连接到hbase的代码:

Connection connection = DriverManager.getConnection("jdbc:phoenix:localhost"); 
下面是我的hdfs-site.xml文件,我在其中做了一些更改:


我需要做什么改变?请建议..

使用@vrb组合答案

Zookeeper端口是非标准端口,需要在与Connection/DriverManager一起使用的jdbc url上指定

Connection connection = DriverManager.getConnection("jdbc:phoenix:localhost:12181");
检查hbase中的“conf/regionserver”文件中的主机名,并使用相同的主机名连接到hbase

    connection = DriverManager.getConnection("jdbc:phoenix:{hostname_in_regionserver_conf_file}:2181");

还要确保“phoenix-X.X-HBase-X.X-client.jar”jar位于java文件的类路径中。

在jdbc url中,可以添加localhost:2181或localhost:12181指向zookeeper,以便它可以找到您的HBase+phoenix协处理器?是的,我尝试了连接Connection=DriverManager.getConnection(“jdbc:phoenix:localhost:12181”);现在它正在工作。