URL-адрес узла имени Hadoop для WebHDFS

У меня есть кластерная установка именованного узла. Именованные узлы настроены как активные и пассивные.

Когда я делаю вызов WEBHDFS, предоставляется URL-адрес

http://:/webhdfs/v1/

Поскольку у меня есть 2 именованных узла, у меня есть 2 URL-адреса.

http://:/webhdfs/v1/ — сейчас активно http://:/webhdfs/v1/ — сейчас пассивно

Мой вопрос: именованные узлы могут отработать отказ в любое время. Какую ценность я предоставляю в HOST? Должен ли я указать имя службы? Существует ли виртуальный IP-адрес, который обычно настраивается на платформе HDP и обеспечивает перенаправление?

Или мне следует разместить балансировщик нагрузки или шлюз перед именованными узлами, чтобы отработка отказа обрабатывалась без какого-либо воздействия на вызывающее приложение.


person Vaya    schedule 03.02.2015    source источник
comment
Это скорее обходной путь, чем ответ, поэтому я размещаю его здесь в качестве комментария. Вы можете попробовать службу httpfs, которая может переключаться между активными/пассивными узлами имен.   -  person facha    schedule 02.10.2015


Ответы (3)


Это баг, не работает в режиме HA.

Вы должны явно указать активный URL-адрес NN каждый раз, когда NN меняет свое состояние.

https://hortonworks.jira.com/browse/BUG-30030

person dreamer    schedule 27.07.2015

Вы получите исключение, если разговариваете с неактивным namenode.

См. мой ответ здесь Любая команда для получения активный узел имен для службы имен в Hadoop?

person Erik Forsberg    schedule 02.10.2015

Вы должны сначала определить активный Namenode, а затем отправить запрос API WebHDFS на активный namenode. Выдача запросов API WebHDFS на резервный узел имен приведет к ошибке HTTP 403.

Пока нет автоматического способа определить активный Namenode при использовании WebHDFS. Вы можете использовать клиент командной строки hdfs для запроса конфигурации или, в качестве альтернативы, пройтись по Namenodes и выполнить запросы API JMX к конечной точке `/jmx?qry=Hadoop:service=NameNode,name=NameNodeStatus и проанализировать выходные данные.

person dschiavu    schedule 19.10.2020