Кластер Hadoop в Google Compute Engine: доступ к главному узлу через REST

Я развернул кластер hadoop на Google Compute Engine. Затем я запускаю алгоритм машинного обучения (Oryx от Cloudera) на главном узле кластера hadoop. Выходные данные этого алгоритма доступны через HTTP REST API. Таким образом мне нужно получить доступ к выводу либо через веб-браузер, либо с помощью команд REST. Однако я не могу разрешить адрес для вывода главного узла, который принимает форму http://CLUSTER_NAME-mcPROJECT_NAME.internal: 8091.

Я разрешил http-трафик и разрешил доступ к портам 80 и 8091 в сети. Но я не могу разрешить указанный адрес. Обратите внимание, что этот http-адрес НЕ является IP-адресом экземпляра главного узла.

Я следовал вместе с примерами для доступа к IP-адресам вычислительных экземпляров. Однако я не могу найти примеры доступа к одному узлу кластера hadoop в GCE, который выглядит следующим образом http://CLUSTER_NAME-mcPROJECT_NAME.internal: 8091. Любая помощь будет оценена. Спасибо.

1 ответ

Решение

Причина, по которой вы это видите, заключается в том, что имя "HOSTNAME.c.PROJECT.internal" разрешается только из сети GCE этого самого экземпляра; эти доменные имена не видны глобально. Так что, если вы были в SSH сначала в свой главный узел, а затем попробуйте curl http://CLUSTER_NAME-m.c.PROJECT_NAME.internal:8091 тогда вы должны успешно получить содержимое, в то время как попытка получить доступ через ваш персональный браузер просто не сможет преобразовать это имя хоста в любой IP-адрес.

Так что, к сожалению, самый быстрый способ для вас извлечь это содержимое на самом деле использовать external IP address вашего экземпляра GCE. Если вы уже открыли порт 8091 в сети, просто используйте gcutil getinstance CLUSTER_NAME-m и искать запись с указанием external IP address; затем подключите это как ваш URL: http://[external ip address]:8091,

Если вы включили кластер с помощью bdutilболее сложный, но более приятный способ получить доступ к кластеру - запустить bdutil socksproxy команда. Это открывает туннель SSH динамической переадресации портов к вашему главному узлу в качестве прокси-сервера SOCKS5, так что вы можете настроить свой браузер на использование localhost:1080 в качестве прокси-сервера убедитесь, что разрешено удаленное разрешение DNS, а затем перейдите в браузер с помощью обычного http://CLUSTER_NAME-m.c.PROJECT_NAME.internal:8091 URL.

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