7

Liên quan đến similar SO question trước đó của tôi, tôi đã thử sử dụng tuyết/tuyết rơi trên AWS để tính toán song song.Sử dụng tuyết (và tuyết rơi) với AWS để xử lý song song trong R

Những gì tôi đã làm là:

  • Trong sfInit() chức năng, tôi cung cấp DNS công cộng để socketHosts tham số như vậy sfInit(parallel=TRUE,socketHosts =list("ec2-00-00-00-000.compute-1.amazonaws.com"))
  • Lỗi được thông báo là Permission denied (publickey)
  • sau đó tôi theo các hướng dẫn (tôi giả sử một cách chính xác!) trên http://www.imbi.uni-freiburg.de/parallel/ trong phần 'Mật khẩu không có bảo mật Shell (SSH) đăng nhập'
  • Tôi chỉ cần mèo nội dung của tệp .pem mà tôi phân tích ted trên AWS vào ~/.ssh/authorized_keys của cá thể AWS mà tôi muốn kết nối từ cá thể chủ AWS của tôi và cho cá thể AWS chính cũng như

Có điều gì tôi bỏ sót không? Tôi sẽ rất biết ơn nếu người dùng có thể chia sẻ kinh nghiệm của họ trong việc sử dụng tuyết trên AWS.

Cảm ơn bạn rất nhiều vì các đề xuất của bạn.

UPDATE: Tôi chỉ muốn cập nhật các giải pháp tôi thấy vấn đề cụ thể của tôi:

  • tôi đã sử dụng StarCluster để thiết lập cụm AWS của tôi: StarCluster
  • cài đặt gói snowfall trên tất cả các nút của cluster
  • Từ nút chính đã ban hành các lệnh sau
  • hostslist <- list("ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com","ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com")
  • sfInit(parallel=TRUE, cpus=2, type="SOCK",socketHosts=hostslist)
  • l <- sfLapply(1:2,function(x)system("ifconfig",intern=T))
  • lapply(l,function(x)x[2])
  • sfStop()
  • Thông tin ip khẳng định rằng các nút AWS đã được sử dụng
+2

Tôi tin rằng tệp .pem là chứng chỉ X509, không phải là khóa công cộng RSA. Bạn nên tạo cặp khóa trên nút chính, như được mô tả trong phần, và sao chép khóa công khai tới các authorized_keys của (các) nút nô lệ. – Anatoliy

+0

Tôi tin @Anatoliy là chính xác; anh ta nên đưa ra câu trả lời về điều đó, thay vì chỉ là một bình luận, vì vậy chúng tôi có thể upvote. :) – Iterator

+0

Có lẽ bỏ qua câu trả lời của tôi về câu hỏi khác của bạn liên quan đến "sử dụng StarCluster" như tôi thấy bạn có, nhưng cho một shot chạy toàn bộ cụm trong phạm vi IP riêng, tôi không cần phải bận tâm với khóa hoặc chứng chỉ khi tôi bắt đầu làm điều đó. – Thell

Trả lời

1

Tôi tin @Anatoliy là chính xác: bạn đang sử dụng chứng chỉ X.509. Để biết các bước chính xác cần thực hiện để thêm khóa SSH, hãy xem phần "Loại thông tin xác thực" của EC2 Starters Guide.

Để tải lên khóa SSH của riêng bạn, hãy xem this page from Alestic.

Lúc đầu hơi khó hiểu, nhưng bạn sẽ muốn xóa khóa truy cập, chứng chỉ và cặp khóa có thể xuất hiện trong tệp văn bản với DSA hoặc RSA.

+0

Cảm ơn các liên kết. Bằng cách nào đó điều này hóa ra là nhiều lông hơn tôi mong đợi. – harshsinghal

+0

Nó trở nên dễ dàng hơn, nhưng không nhờ vào các tài liệu giới thiệu của Amazon - chúng thường có ý nghĩa chỉ sau khi một người làm chủ mọi thứ. Thuốc trừ sâu là một trang web tốt để biết. – Iterator

+1

Bạn nghĩ gì về http://web.mit.edu/stardev/cluster/docs/0.92rc2/quickstart.html? – harshsinghal

2

Trông không phải là xấu, nhưng các tập tin pem là sai. Nhưng đôi khi không đơn giản và nhiều người phải chiến đấu với vấn đề này. Rất nhiều lời khuyên bạn có thể tìm thấy trong bài viết này:

Từ kinh nghiệm của tôi hầu hết mọi người có vấn đề trong các bước sau:

  • Bạn có thể đăng nhập vào máy qua ssh? (ssh ec2-00-00-00-000.compute-1.amazonaws.com). Hãy thử sử dụng DNS công cộng, không phải IP công cộng để kết nối.
  • Bạn nên kiểm tra "Nhóm bảo mật" trong AWS nếu cổng 22 mở cho tất cả các máy!

Nếu bạn có kế hoạch để bắt đầu hơn 10 máy nhân bạn nên làm việc trên một cài đặt MPI trên máy của bạn (hiệu suất tốt hơn nhiều!)

Markus từ cloudnumbers.com :-)

+0

Tôi có thể ssh vào các nút nô lệ và tất cả các máy thuộc cùng một nhóm bảo mật. Ngoài ra tôi sử dụng DNS công cộng để kết nối. – harshsinghal

Các vấn đề liên quan