Кластер 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.