Интерфейс 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 места, которые нужно изменить:

  1. ваш файл .pem
  2. IP вашего внутреннего главного узла
  3. Ваш общедоступный домен 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