我正在连接到Phoenix,我面临着一个奇怪的问题:在某些机器上,我可以成功地获得连接,但我可以得到连接失败。但是当它失败时,它只是not throw any exception,它是blocked,所以我不知道这有什么问题。我在哪里能看到原木?
public class TestPhoenix {
private static String driver = "org.apache.phoenix.jdbc.PhoenixDriver";
private static String url = "jdbc:phoenix:192.168.1.91,192.168.1.50,192.168.1.60:2182";
public static void main(String[] args)throws Exception{
Class.forName(driver);
Properties properties = new Properties();
if (driver.equals("org.apache.phoenix.jdbc.PhoenixDriver")){
properties.setProperty("phoenix.functions.allowUserDefinedFunctions","true");
}
Connection conn = null;
conn= DriverManager.getConnection(url, properties);
System.out.println(conn);
}
}我以以下方式运行该程序:
java -cp phoenix-4.5.1-HBase-1.1.jar:. TestPhoenix发布于 2015-10-09 10:24:40
好的,我发现了问题,我没有在某些机器上配置主机。I配置zookeeper如下:
server.1=data1:2888:3888
server.2=s5:2888:3888
server.3=s6:2888:3888配置hadoop如下:
<property>
<name>fs.defaultFS</name>
<value>hdfs://s5.hadoop.ipin.com:20000</value>
<description>The name of the default file system. Either the
literal string "local" or a host:port for DFS.</description>
</property>问题是我没有在某些机器中添加data1 s5 s6 s5.hadoop.ipin.com,所以我的程序总是试图获取这些主机,所以我按如下方式配置/etc/hosts:
192.168.1.40 s5 s4.hadoop.ipin.com
192.168.1.50 s5 s5.hadoop.ipin.com
192.168.1.60 s6 s6.hadoop.ipin.com
192.168.1.91 data91 data1然后我就能成功地获得连接
https://stackoverflow.com/questions/33034971
复制相似问题