Я запускаю очень простую программу подключения 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