URL отслеживания вакансий в Google Compute не работает

Я использую Google Compute Engine для запуска заданий Mapreduce в Hadoop (почти все стандартные конфигурации). Во время выполнения задания я получаю URL-адрес для отслеживания в виде http://project_name:8088/proxy/application_X_Y/, но он не открывается. Я забыл что-то настроить?

3 ответа

Решение

Чтобы уточнить вариант Amal, упомянутый в другом ответе об использовании "внешнего IP-адреса" виртуальной машины Google Compute Engine, вы можете получить внешний IP-адрес, выполнив gcloud compute instances describe --zone <your zone> <your master hostname> и ищет natIP,

Чтобы открыть порт 8088, вам нужно настроить правило брандмауэра, открывающее этот порт, вероятно, на вашем default Сеть Google Compute Engine. Вы хотите указать your.ip.address.here/32 адрес в --source-ranges ограничить входящий трафик только вашим локальным компьютером, набирающим номер в вашей виртуальной машине, в противном случае любой пользователь из диапазонов IP-адресов сможет получить доступ к вашим страницам Hadoop.

Если бы вы использовали bdutil чтобы включить ваш кластер, есть альтернативный способ, который намного проще и безопаснее; просто беги

bdutil <your flags used in deployment, like -e hadoop2, --prefix, etc.> socksproxy

открыть SSH с динамической переадресацией портов для использования в качестве прокси-сервера SOCKS5, на который может указывать ваш браузер. Если вы работаете в Linux или Mac и у вас установлен Chrome или Firefox, bdutil также должен распечатать команду copy/paste для запуска нового изолированного браузера, предварительно настроенного на использование прокси-сервера socks, чтобы вы могли щелкнуть по всем полезным ссылкам.,

Если bdutil не распечатал команду браузера или вы не использовали bdutil, вы также можете запустить и настроить прокси SSH socks, используя эти инструкции. Socks-прокси на основе SSH более безопасен, чем открытие портов брандмауэра, а также позволяет работать ссылкам на страницы Hadoop (в противном случае вам придется вручную заменять имена хостов внешними IP-адресами).

Одна поправка. Вы используете YARN. Так что нет трекера. Jobtracker присутствует в hadoop 1.x. В YARN уровень обработки стал общей структурой, и на смену менеджерам по работе пришли менеджер ресурсов и мастер приложений. Пользовательский интерфейс, который вы упомянули в вопросе, был из Resource Manager. Для вашей проблемы попробуйте следующие советы.

Используйте общедоступный IP-адрес экземпляра менеджера ресурсов вместо PROJECT_NAME.

Проверьте, открыт ли порт 8088 для доступа к нему извне.

Другой (более безопасный) способ сделать это - использовать gcloud compute, чтобы создать ssh-туннель для вашего развертывания, а затем запустить Chrome через него.

$ gcloud compute ssh clustername --zone=us-central1-a --ssh-flag="-D 1080" --ssh-flag="-N" --ssh-flag="-n"

Вам нужно будет заменить имя кластера именем вашего развертывания и, если необходимо, изменить --zone.

Оттуда вы можете запустить Chrome через него и затем перейти к URL-адресу отслеживания заданий hadoop.

$ chrome   --proxy-server="socks5://localhost:1080" \
--host-resolver-rules="MAP * 0.0.0.0 , \ 
EXCLUDE localhost" --user-data-dir=/tmp/clustername
Другие вопросы по тегам