Hbase client hardcoding regionserver - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь настроить клиент hbase для подключения к HBase, который работает в контейнере docker. Учитывая, что это для целей интеграционных тестов, мы можем жестко запрограммировать главный сервер и региональный сервер (все они по одному адресу).

Мы используем дистрибутив cloudera, но я думаю, это должно быть то же самое. Я определил "hbase.master" в орг. apache .had oop .conf.Configuration

configuration.set("hbase.master", config.getMaster());

, и кажется, что он принят (посмотрел другие вопросы здесь, в SO, которые упоминали об этом).

Но попытка сделать то же самое для регионального сервера, как описано в http://archive.cloudera.com/cdh5/cdh/5/hbase-0.98.6-cdh5.3.4/book/config.files.html

configuration.set("hbase.regionserver.port", config.getRegionserver());

и я вижу, что это все еще извлекается из Zookeeper, поскольку ошибка показывает невозможность подключения к сокету с 60002, который является номером порта регионального сервера (тот, который я поместил в конфигурацию, отличается от того, который объявлен в Docker.

1 Ответ

0 голосов
/ 16 июля 2020

Первый и более простой вариант - поместить запись в / etc / hosts, чтобы имя сервера hbase указывало на адрес обратной связи.

Поскольку мы не хотели изменять файлы конфигурации в нашей среде CI, мы решили обходное решение. нашли, - настроить наш собственный преобразователь имен хостов на основе этого ответа { ссылка }

Работает только в JDK8, но помимо этого существует аналогичное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...