Интерфейс Spark для AWS EMR
Я запускаю кластер AWS EMR с Spark (1.3.1), установленный с помощью раскрывающегося списка консоли EMR. Spark является текущим и обрабатывает данные, но я пытаюсь найти, какой порт был назначен для WebUI. Я пробовал переадресацию портов как 4040, так и 8080 без подключения. Я пересылаю так
ssh -i ~/KEY.pem -L 8080:localhost:8080 [email protected]_DNS
1) Как узнать, какой порт, назначенный Spark WebUI?
2) Как проверить, работает ли Spark WebUI?
Ответы
Ответ 1
Spark on EMR настроен для YARN, поэтому интерфейс Spark доступен по URL-адресу приложения, предоставленному диспетчером ресурсов YARN (http://spark.apache.org/docs/latest/monitoring.html). Таким образом, самый простой способ добраться до него - настроить браузер с помощью SOCKS, используя порт, открытый SSH, затем из консоли EMR откройте диспетчер ресурсов и щелкните URL-адрес основного приложения, который находится справа от запущенного приложения. Сервер истории Spark доступен на порту 18080 по умолчанию.
Пример носков с ЭМИ в http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-web-interfaces.html
Ответ 2
Вот альтернатива, если вы не хотите иметь дело с настройкой браузера с помощью SOCKS, как это предлагается в документах EMR.
-
Откройте туннель ssh для мастера node с переадресацией порта на машину, запускающую искру ui
ssh -i path/to/aws.pem -L 4040:SPARK_UI_NODE_URL:4040 [email protected]_URL
MASTER_URL (EMR_DNS в вопросе) - это URL-адрес мастера node, который вы можете получить на странице консоли управления EMR для кластера
SPARK_UI_NODE_URL можно увидеть в верхней части журнала stderr. Строка журнала будет выглядеть примерно так:
16/04/28 21:24:46 INFO SparkUI: Started SparkUI at http://10.2.5.197:4040
-
Наведите свой браузер на localhost: 4040
Пробовал это на EMR 4.6, запущенном Spark 2.6.1
Ответ 3
Просто запустите следующую команду:
ssh -i /your-path/aws.pem -N -L 20888:ip-172-31-42-70.your-region.compute.internal:20888 [email protected]
Есть 3 места, которые нужно изменить:
- ваш файл
.pem
- IP вашего внутреннего главного узла
- Ваш общедоступный домен DNS.
Наконец, в пользовательском интерфейсе Yarn вы можете щелкнуть URL-адрес отслеживания приложений Spark, а затем просто заменить URL-адрес:
"http://your-internal-ip:20888/proxy/application_1558059200084_0002/"
->
"http://localhost:20888/proxy/application_1558059200084_0002/"
Это работает для EMR 5.x
Ответ 4
Просто используйте SSH-туннель
На вашей локальной машине выполните:
ssh -i/path/to/pem -L 3000: ec2-xxxxcompute-1.amazonaws.com: 8088 [email protected]
В вашем браузере локальной машины нажмите:
локальный: 3000