2014-11-09 2 views
6

Amplab의 교육 연습을 실행하기 위해 us-east-1에 키 쌍을 만들고, 훈련 스크립트 (git clone git://github.com/amplab/training-scripts.git -b ampcamp4)를 설치하고 env를 작성했습니다. http://ampcamp.berkeley.edu/big-data-mini-course/launching-a-bdas-cluster-on-ec2.htmlEC2 인스턴스 내에서 spark-ec2 호출 : 호스트에 대한 ssh 연결이 거부되었습니다.

의 지침에 따라 변수 AWS_ACCESS_KEY_ID 및 AWS_SECRET_ACCESS_KEY 지금

./spark-ec2 -i ~/.ssh/myspark.pem -r us-east-1 -k myspark --copy launch try1 

다음과 같은 메시지를 생성 실행 : [email protected] 사용자 & 마스터 인스턴스입니다

[email protected]:~/projects/spark/training-scripts$ ./spark-ec2 -i ~/.ssh/myspark.pem -r us-east-1 -k myspark --copy launch try1 
Setting up security groups... 
Searching for existing cluster try1... 
Latest Spark AMI: ami-19474270 
Launching instances... 
Launched 5 slaves in us-east-1b, regid = r-0c5e5ee3 
Launched master in us-east-1b, regid = r-316060de 
Waiting for instances to start up... 
Waiting 120 more seconds... 
Copying SSH key /home/johndoe/.ssh/myspark.pem to master... 
ssh: connect to host ec2-54-90-57-174.compute-1.amazonaws.com port 22: Connection refused 
Error connecting to host Command 'ssh -t -o StrictHostKeyChecking=no -i /home/johndoe/.ssh/myspark.pem [email protected] 'mkdir -p ~/.ssh'' returned non-zero exit status 255, sleeping 30 
ssh: connect to host ec2-54-90-57-174.compute-1.amazonaws.com port 22: Connection refused 
Error connecting to host Command 'ssh -t -o StrictHostKeyChecking=no -i /home/johndoe/.ssh/myspark.pem [email protected] 'mkdir -p ~/.ssh'' returned non-zero exit status 255, sleeping 30 
... 
... 
subprocess.CalledProcessError: Command 'ssh -t -o StrictHostKeyChecking=no -i /home/johndoe/.ssh/myspark.pem [email protected] '/root/spark/bin/stop-all.sh'' returned non-zero exit status 127 

. 내가 -u ec2-user 시도하고 -w 최대 600까지 늘리지 만 동일한 오류가 발생합니다.

AWS 콘솔에 로그인 할 때 us-east-1의 마스터 및 슬레이브 인스턴스를 볼 수 있으며 '로컬'ip-some-instance 쉘에서 실제로 마스터 인스턴스로 ssh 할 수 있습니다.

필자는 spark-ec2 스크립트가 마스터/슬레이브 보안 그룹 (포트가 수신되는 포트 등)을 정의하고 이러한 설정을 조정할 필요가 없다는 점을 이해했습니다. 이 말은 주인과 노예 모두 22 번 (앰 프 3 노예/주인 초 그룹에 속한 Port:22, Protocol:tcp, Source:0.0.0.0/0)의 말을 듣는 것입니다.

나는 EC2 인스턴스에 대한 모든 R & D 기금을 지출하기 전에 여기를 잃어 버리고 어떤 조언을 하셔도됩니다 .... 감사합니다.

답변

7

이것은 인스턴스를 시작하는 데 오랜 시간이 걸리는 SSH로 인해 발생할 수 있으며 이로 인해 시스템에 로그인하기 전에 120 초의 만료 시간이 만료됩니다. 당신은 일을 새로운 인스턴스를 다시 시작하지 않고 중단 된 부분부터 계속

./spark-ec2 -i ~/.ssh/myspark.pem -r us-east-1 -k myspark --copy launch --resume try1 

합니다 (--resume 플래그)를 실행 할 수 있어야한다. 이 문제는 Spark 1.2.0에서 수정 될 예정이며 고정 된 시간 제한에 의존하기보다 SSH 상태를 지능적으로 검사하는 새로운 메커니즘이 있습니다. 우리는 또한 새로운 AMI를 구축함으로써 SSH 시작 지연이 오래 걸리는 근본 원인을 해결합니다.

+0

감사합니다. 아직도 클러스터에 액세스하지 못하는 것 같습니다. 아마도 더 오래 기다려야 할 것입니다 (이미 1.5 시간이 걸렸으므로 직장에 다른 것이 있다고 가정합니다). – user2105469

+0

'URL을 여는 중 예외가 발생했습니다. http://ec2-54-90-57-174.compute-1.amazonaws.com:8080/json 호스트에 연결하는 중 오류가 발생했습니다. 'ssh -t -o StrictHostKeyChecking = no -i/home/johndoe/.ssh/myspark.pem [email protected] '/root/spark/bin/stop-all.sh' '는 0이 아닌 종료 상태를 반환했습니다. 127, sleeping 30' – user2105469

+0

어떤 스파크 버전을 사용하고 있습니까? –

관련 문제