2012-02-29 35 views
6

Khi tôi chạy việc hadoop của tôi, tôi nhận được lỗi sau:không bình thường lỗi Hadoop - nhiệm vụ bị giết trên của riêng mình

nhận được yêu cầu giết nhiệm vụ 'attempt_201202230353_23186_r_000004_0' của thành viên công tác đã được KILLED_UNCLEAN bởi người sử dụng

Nhật ký có vẻ sạch sẽ. Tôi chạy 28 bộ giảm tốc, và điều này không xảy ra cho tất cả các bộ giảm tốc. Nó xảy ra cho một vài lựa chọn và bộ giảm tốc bắt đầu lại. Tôi không hiểu điều này. Ngoài ra điều khác tôi đã nhận thấy là đối với một tập dữ liệu nhỏ, tôi hiếm khi thấy lỗi này!

+0

Công việc có bị lỗi do sự cố này không? Bạn có đang chạy với thực thi đầu cơ được bật không? –

+0

Có, thực thi đầu cơ được đặt thành true. Các công việc không thất bại, nó cuối cùng kết thúc với rất nhiều kiiled/thất bại reducers mà tổng thể làm tăng thời gian hoàn thành công việc! – RFT

+0

@Pradeep Gollakota Ngoài ra, tôi đã quan sát thấy, các bộ giảm bị giết hoặc thất bại một lần tiếp tục bị giết như 8-9 lần cho đến khi chúng thành công và các bộ giảm không bị giết ngay cả khi được làm sạch trong suốt công việc! – RFT

Trả lời

1

Bạn có thể thử sử dụng bộ đếm (bộ đếm hadoop) trong logic giảm của mình không? Dường như hadoop không thể xác định xem chương trình giảm của bạn có đang chạy hay treo hay không. Nó chờ một vài phút và giết chết nó, mặc dù logic của bạn có thể vẫn đang thực thi.

4

Có ba điều để thử:

Thiết lập một Counter
Nếu Hadoop thấy một bộ đếm cho công việc tiến triển thì nó sẽ không giết nó (. Xem câu trả lời Arockiaraj Durairaj của) này có vẻ là nhiều nhất thanh lịch vì nó có thể cho phép bạn hiểu rõ hơn về các công việc đang chạy dài và có thể bị treo cổ.

Thời gian chờ tác vụ dài hơn
Thời gian chờ của công việc Hadoop sau 10 phút theo mặc định. Thay đổi thời gian chờ có phần lực tàn bạo, nhưng có thể hoạt động. Hãy tưởng tượng phân tích các tệp âm thanh thường là các tệp 5MB (bài hát), nhưng bạn có một vài tệp 50MB (toàn bộ album). Hadoop lưu trữ một tệp riêng lẻ trên mỗi khối. Vì vậy, nếu kích thước khối HDFS của bạn là 64MB thì tệp 5MB và tệp 50 MB sẽ yêu cầu 1 khối (64MB) (xem tại đây http://blog.cloudera.com/blog/2009/02/the-small-files-problem/ và tại đây Small files and HDFS blocks.) Tuy nhiên, công việc 5MB sẽ chạy nhanh hơn công việc 50MB. Nhiệm vụ thời gian chờ có thể tăng lên trong các mã (mapred.task.timeout) cho công việc mỗi câu trả lời cho câu hỏi tương tự này: How to fix "Task attempt_201104251139_0295_r_000006_0 failed to report status for 600 seconds."

Tăng nhiệm vụ nỗ lực
Configure Hadoop để làm nhiều hơn 4 lần thử mặc định (xem Pradeep Câu trả lời của Gollakota). Đây là phương pháp bạo lực nhất trong ba. Hadoop sẽ thử công việc nhiều lần hơn, nhưng bạn có thể che giấu một vấn đề cơ bản (các máy chủ nhỏ, các khối dữ liệu lớn, v.v.).

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