2016-04-04 24 views
12

Mỗi khi tôi cố gắng bắt đầu cụm Spark trên AWS qua tệp Spark ec2/spark_ec2.py tôi nhận được lỗi kết nối SSH cuối cùng là được giải quyết nhưng lãng phí rất nhiều thời gian .Lỗi kết nối SSH EC2 SSH Mã trả lại SSH 255

Trước khi bạn đánh dấu bản sao này, tôi nhận thấy có một số câu hỏi tương tự nhưng có hai điểm khác nhau: a) kết nối của tôi luôn luôn hoàn thành (cuối cùng) và tôi kết thúc với cụm Spark khỏe mạnh b) "câu trả lời" cho các câu hỏi khác thường tập trung xung quanh các phiên bản Spark trước đó (ví dụ: 1,2, 1,3, v.v.). Tôi đã luôn luôn gặp vấn đề này quay trở lại 12 tháng trước w/1.3 đến ngày hôm nay với 1.6.1.

Cảm ơn trước!

ga Output:

Launched master in us-east-1e, regid = r-a1b2c3d4 
Waiting for AWS to propagate instance metadata... 
Waiting for cluster to enter 'ssh-ready' state........... 

Warning: SSH connection error. (This could be temporary.) 
Host: ec2-xx-xx-xx-xxx.compute-1.amazonaws.com 
SSH return code: 255 
SSH output: ssh: connect to host ec2-xx-xx-xx-xxx.compute-1.amazonaws.com port 22: Connection refused 

. 

Warning: SSH connection error. (This could be temporary.) 
Host: ec2-xx-xx-xx-xxx.compute-1.amazonaws.com 
SSH return code: 255 
SSH output: ssh: connect to host ec2-xx-xx-xx-xxx.compute-1.amazonaws.com port 22: Connection refused 

. 

Warning: SSH connection error. (This could be temporary.) 
Host: ec2-xx-xx-xx-xxx.compute-1.amazonaws.com 
SSH return code: 255 
SSH output: ssh: connect to host ec2-xx-xx-xx-xxx.compute-1.amazonaws.com port 22: Connection refused 

. 

Warning: SSH connection error. (This could be temporary.) 
Host: ec2-xx-xx-xx-xxx.compute-1.amazonaws.com 
SSH return code: 255 
SSH output: ssh: connect to host ec2-xx-xx-xx-xxx.compute-1.amazonaws.com port 22: Connection refused 

. 

Warning: SSH connection error. (This could be temporary.) 
Host: ec2-xx-xx-xx-xxx.compute-1.amazonaws.com 
SSH return code: 255 
SSH output: ssh: connect to host ec2-xx-xx-xx-xxx.compute-1.amazonaws.com port 22: Connection refused 

. 

Warning: SSH connection error. (This could be temporary.) 
Host: ec2-xx-xx-xx-xxx.compute-1.amazonaws.com 
SSH return code: 255 
SSH output: ssh: connect to host ec2-xx-xx-xx-xxx.compute-1.amazonaws.com port 22: Connection refused 

. 

Warning: SSH connection error. (This could be temporary.) 
Host: ec2-xx-xx-xx-xxx.compute-1.amazonaws.com 
SSH return code: 255 
SSH output: ssh: connect to host ec2-xx-xx-xx-xxx.compute-1.amazonaws.com port 22: Connection refused 

. 
Cluster is now in 'ssh-ready' state. Waited 833 seconds. 
Generating cluster's SSH key on master... 
+0

Vẫn gặp sự cố tương tự trong trường hợp bất kỳ ai cũng có thể trợ giúp: –

+0

Đừng đóng tạm thời. của tôi được làm việc sau 600 giây –

+0

Vâng, công trình của tôi cũng sau một thời gian chờ đợi rất dài. Tôi đang cố gắng tránh chờ đợi. –

Trả lời

1

Hãy kiểm tra xem nhóm bảo mật của bạn trong EC2 có cổng ssh (22) mở.

+0

Đây là @ r-kochhar –

+0

làm cách nào để bạn kiểm tra? –

+0

@romainjouin mỗi tài liệu aws http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout: Mở bảng điều khiển Amazon EC2 tại https://console.aws.amazon.com/ ec2 /. Trong ngăn dẫn hướng, chọn Trường hợp, rồi chọn thể hiện của bạn. Trong tab Mô tả, bên cạnh Nhóm bảo mật, chọn quy tắc xem để hiển thị danh sách các quy tắc có hiệu lực. Đối với các phiên bản Linux: Xác minh rằng có quy tắc cho phép lưu lượng truy cập từ máy tính của bạn đến cổng 22 (SSH). –

1

Kiểm tra this, bạn phải kích hoạt giao thông ssh inbound

+1

Nhóm bảo mật được tạo từ tập lệnh spark-ec2 đã cho phép lưu lượng SSH, tôi đã kiểm tra chéo trong bảng điều khiển EC2 cũng như –

+0

Và bạn có tắt tường lửa os không? – jedijs

1

Vui lòng xác nhận, rằng tên cặp chính về khách hàng và về trận máy đích.

Trên máy khách, tệp này có thể được lưu trữ trong ~/.ssh trong tệp pem. Trên máy đích đích, nó có thể được nhìn thấy trong giao diện điều khiển EC2 (bấm vào ví dụ, tab Mô tả tiếp theo).

Cách khác nhau để kiểm tra: bắt đầu phiên bản EC2 mới với cùng một cặp khóa và ghi nhật ký bằng tệp pem tương ứng.

Tâm trí cũng là các nhóm Bảo mật.

1

Các kịch bản spark-EC2 build AMIs based on the Amazon Linux base AMI:

# Creates an AMI for the Spark EC2 scripts starting with a stock Amazon 
# Linux AMI. 
# This has only been tested with Amazon Linux AMI 2014.03.2 

Vì vậy, tôi tin rằng sự chậm trễ trong kết nối SSH/chậm khởi động là do sự dụ EC2 áp dụng (hoặc cố gắng và thời gian ra, tùy thuộc vào cấu hình VPC) bản vá lỗi quan trọng/cập nhật bảo mật trên tạo ra, như chi tiết trong Amazon Linux AMI FAQ:

On khởi động đầu tiên, Amazon Linux AMI cài đặt từ gói kho lưu trữ bất kỳ cập nhật bảo mật không gian sử dụng được đánh giá criti cal hoặc quan trọng và thực hiện trước các dịch vụ, chẳng hạn như SSH, bắt đầu.

Nếu AMI không thể truy cập vào kho yum, nó sẽ hết thời gian và thử lại nhiều lần trước khi hoàn tất quy trình khởi động. Có thể lý do cho việc này là cài đặt tường lửa hạn chế hoặc cài đặt VPC, ngăn chặn quyền truy cập vào kho lưu trữ gói Amazon AMI Linux.

Nếu đây thực sự là trường hợp, sau đó tạo AMI của riêng bạn từ máy ảo có tất cả các bản cập nhật có liên quan và gọi tập lệnh bằng tùy chọn --ami sẽ giải quyết vấn đề (điều này có thể tự động giữ trên hết mọi thứ).

Một khả năng có thể kiểm tra điều này đầu tiên bằng cách tắt quá trình cập nhật bảo mật, theo the FAQ:

Để vô hiệu hóa cập nhật bảo mật khi khởi động từ AWS EC2 Console:

Trên "Nâng cao thẩm Tùy chọn "trang trong Thuật sĩ Yêu cầu Thuật sĩ, có trường văn bản để gửi dữ liệu người dùng Amazon AMI Amazon. Dữ liệu này có thể được nhập dưới dạng văn bản hoặc được tải lên dưới dạng tệp. Trong cả hai trường hợp, dữ liệu nên là:

#cloud-config 
repo_upgrade: none 

Để vô hiệu hóa cập nhật bảo mật khi khởi động từ dòng lệnh:

Tạo một file văn bản với dữ liệu người dùng trước, và vượt qua nó để AWS Các phiên bản chạy ec2 có cờ --user-data file://<filename> (cũng có thể thực hiện này với ec2-run-instances -f).

Để vô hiệu hóa cập nhật bảo mật khi khởi động khi rebundling Amazon Linux AMI:

Sửa /etc/cloud/cloud.cfg và thay đổi repo_upgrade: security để repo_upgrade: none.