Попытка выполнить удаленную отладку приложения Spark: java.io.IOException "сбой рукопожатия - соединение преждевременно закрыто - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь выполнить удаленную отладку приложения spark на компьютере AWS EC2.

Я настроил ssh-туннель, используя:

ssh -i $HOME/pem/dev/dna-dev.pem -N -D 5005 hadoop@10.121.8.132

Затем добавил правильные параметрына мою команду spark-submit:

spark-submit --driver-java-options -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 --class org.sergio.dna.poc.TestEngine   --master yarn   --deploy-mode client   --executor-memory 2G   --num-executors 1 --executor-cores 1  DNA-Sergio-PoC-1.0-SNAPSHOT.jar

И последнее создайте конфигурацию удаленной отладки в Intellij через порт 5005

Команда spark-submit сообщает о своем ожидании

Listening for transport dt_socket at address: 5005

Но когда я запускаю удаленную отладку, Intellij говорит:

Error running 'RemoteTest': Unable to open debugger port (localhost:5005): java.io.IOException "handshake failed - connection prematurally closed"

Есть ли какая-то конфигурация, которую я пропускаю?Я сделал это в кластерах Cloudera, и это работало нормально, но я новичок в AWS, мне интересно, что-то упущено на стороне сервера

Спасибо

1 Ответ

0 голосов
/ 17 января 2019

В конце концов, мне не нужен ssh-туннель.Просто откройте порт «Весь трафик» в консоли EMR -> Группа безопасности -> master-cluster -> Входящий, в моем случае 5005.

Затем в вашей удаленной отладочной конфигурации intellij измените «localhost» с помощьюEMR IP.

И готово.

...