Не можете подключиться к Фениксу без исключения?
Я подключен к 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
1 ответ
Решение
Хорошо, я нашел проблему, я не настраиваю хост на некоторой машине. Я конфиг 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
тогда я могу получить соединение успешно