2013-03-07 31 views
6

Tôi chỉ thấy rằng việc sử dụng của Amazon Elastic MapReduce, tôi có thể chỉ định một bước để có một trong ba lựa chọn ActionOnFailure:Bản đồ đàn hồi Giảm: sự khác biệt giữa CANCEL_AND_WAIT và CONTINUE?

  • TERMINATE_JOB_FLOW
  • CANCEL_AND_WAIT
  • CONTINUE

TERMINATE_JOB_FLOW là mặc định và hiển nhiên - nó tắt toàn bộ cụm sao khi thất bại trong bước.

Sự khác nhau giữa CANCEL_AND_WAIT và CONTINUE là gì? Nó xuất hiện với tôi rằng cả hai sẽ giữ cho cụm chạy và chỉ cần chuyển sang bước tiếp theo khi nó được thêm vào.

Trả lời

8

Giả sử bạn đã đưa ra một cụm và thêm vào sau 3 bước để nó:

  • Bước 1
  • Bước 2
  • Bước 3

Bây giờ, nếu Step1 có ActionOnFailure như CANCEL_AND_WAIT, sau đó trong sự kiện trên thất bại của Step1, nó sẽ hủy bỏ tất cả các bước còn lại và cụm sẽ nhận được vào một Waiting trạng thái. Và tôi đoán nếu bạn laucng cụm của bạn với tùy chọn --stay-alive thì đây là hành vi mặc định.

nếu Step1 có ActionOnFailure như CONTINUE, sau đó trong sự kiện trên thất bại của Step1, nó sẽ tiếp tục với việc thực hiện các Step2.

nếu Step1 có ActionOnFailure là TERMINATE_JOB_FLOW, sau đó trong trường hợp lỗi Step1, nó sẽ tắt cụm như bạn đã đề cập.

+0

Cảm ơn! Điều đó hoàn toàn có ý nghĩa - nó giống với tôi sau đó, vì trong boto tôi chỉ thêm các bước mới sau khi bước trước đó hoàn thành, vì vậy CANCEL_AND_WAIT và CONTINUE giống nhau từ quan điểm của tôi. – Suman

+0

Tôi * nghĩ * rằng ngay cả với - còn sống, TERMINATE_JOB_FLOW là tùy chọn mặc định. Tôi đã khởi chạy một số cụm còn sống và tất cả chúng đều chấm dứt khi một trong các bước không thành công. – Suman

+0

Nó không xảy ra theo cách đó đối với tôi, tất cả các bước được thêm vào trạng thái 'HỦY' và cụm đang trong 'Đang chờ'. Có lẽ có cái gì đó chúng ta đang thiếu ở đây. – Amar

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