Не можете подключиться к Фениксу без исключения?

Я подключен к 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>

проблема в том, что я не добавляю data1s5s6s5.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

тогда я могу получить соединение успешно

Другие вопросы по тегам