Как устранить ошибку "Не удалось определить имя хоста экземпляра" с помощью spark-ec2?
При попытке запустить кластер Spark на EC2 выдается сообщение об ошибке "Не удалось определить имя хоста экземпляра" (заменены чувствительные элементы на *
):
$ spark-ec2 --vpc-id=vpc-* --subnet-id=subnet-* --slaves=1 --key-pair=* --identity-file=/Users/matthew/.ssh/* --instance-type=m3.large --master-instance-type=m3.large --region=us-east-1 --zone=us-east-1d --spark-version=2.0.2 --spark-ec2-git-branch=branch-2.0 launch spark-test
Setting up security groups...
Searching for existing cluster spark-test in region us-east-1...
Spark AMI: ami-35b1885c
Launching instances...
Launched 1 slave in us-east-1d, regid = r-0e02da15c115f6da2
Launched master in us-east-1d, regid = r-0d0f08c5f2a46a1df
Waiting for AWS to propagate instance metadata...
Applying tags to master nodes
Applying tags to slave nodes
Waiting for cluster to enter 'ssh-ready' state...........
Error:
Failed to determine hostname of Instance:i-0909d1ed1af09cd09.
Please check that you provided --private-ips if necessary
Я не могу ssh в мастер, потому что нет публичного ipv4. мой AWS_ACCESS_KEY_ID
& AWS_SECRET_ACCESS_KEY
ENV VARS настроены правильно, и моя учетная запись имеет полные права, AFAIK. Как мне решить эту ошибку?
РЕДАКТИРОВАТЬ 1: FYI, вступил в выпуск https://github.com/amplab/spark-ec2/issues/90
1 ответ
У меня была эта проблема, когда я запустил в частную подсеть (подсеть без интернет-шлюза). Одно из решений - убедиться, что это общедоступная подсеть. "Автоматическое назначение общедоступных IP-адресов" также должно быть включено в подсети.
Если вам нужна частная подсеть, вы можете попробовать использовать флаг --private-ips, хотя я этого не пробовал.