HBase: Zookeeper обслуживает внутренний IP для удаленного клиента (Java API) - PullRequest
0 голосов
/ 04 мая 2019

Я запускаю очень простую программу подключения HBase с удаленного сервера.
Читая журналы сервера, я вижу, что Zookeeper подтверждает запрос, но затем передает Клиенту внутренний IP-адрес HBase Master, который не используется внешним миром.

Я знаю, где находится мастер и каков его общедоступный IP-адрес, но я не знаю, как эффективно подключиться к HBase удаленно, используя Java API. Есть идеи?

Я видел, как некоторые люди советуют испортить файл / etc / hosts, но это уродливое и не элегантное решение, которое нарушает другие части экосистемы.

    String zookeeperHost = "public.ip.address";

    Configuration hconfig = HBaseConfiguration.create();
    hconfig.set("hbase.zookeeper.quorum",zookeeperHost);
    hconfig.set("hbase.zookeeper.property.clientPort", "2181");
    hconfig.set("zookeeper.znode.parent", "/hbase-unsecure");


    HBaseAdmin.available(hconfig);

org.apache.hadoop.hbase.MasterNotRunningException:
com.google.protobuf.ServiceException:
java.net.UnknownHostException: неизвестный хост: ip-xx-xx-xx-xx.eu-west- 1.compute.internal

...