Tôi đã thiết lập một bước emr trong đường dữ liệu AWS. Lệnh bước trông như thế này:Công việc phát trực tuyến Hadoop sử dụng Mxnet không thành công trong AWS Emr
/usr/lib/hadoop-mapreduce/hadoop-streaming.jar,-input,s3n://input-bucket/input-file,-output,s3://output/output-dir,-mapper,/bin/cat,-reducer,reducer.py,-file,/scripts/reducer.py,-file,/params/parameters.bin
Tôi nhận được lỗi sau
Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1
at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:322)
at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:535)
at org.apache.hadoop.streaming.PipeReducer.close(PipeReducer.java:134)
at org.apache.hadoop.io.IOUtils.cleanup(IOUtils.java:244)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:467)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:393)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 1
at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:322)
at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:535)
at org.apache.hadoop.streaming.PipeReducer.close(PipeReducer.java:134)
at org.apache.hadoop.io.IOUtils.cleanup(IOUtils.java:244)
at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:467)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:393)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)
Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
Tôi đã cố gắng chạy bước giảm riêng rẽ trên máy tính để bàn của tôi (trên một thiết lập hadoop nút duy nhất) và làm việc của nó. Tôi đã bao gồm #!/usr/bin/env python
trong tập lệnh giảm tốc. Tôi nghi ngờ rằng tôi không viết chính xác bước EMR.
EMR version: 5.5.0
EDIT: Sau khi điều tra thêm, tôi đã phát hiện ra chính xác dòng mã nơi mã giảm được thất bại trong EMR. Tôi đang thực hiện các dự đoán về Học máy bằng cách sử dụng thư viện mxnet trong trình giảm tốc. Khi tôi tải các thông số mô hình, bộ giảm tốc sẽ thất bại. Liên quan đến API doc là here
module.load_params('parameters.bin')
Tôi đã kiểm tra thư mục làm việc hiện tại của nút EMR [sử dụng os.listdir(os.getcwd())
] và nó có chứa các tập tin parameters.bin
(Tôi thậm chí còn in các nội dung tập tin thành công). Tôi muốn chỉ ra rằng công việc phát trực tuyến đang hoạt động tốt trên thiết lập cục bộ một nút của tôi.
EDIT2: tôi đặt số nhiệm vụ giảm đến 2. Tôi kèm đang giảm tốc của tôi trong một thử-trừ khối và tôi thấy các lỗi sau đây trong một trong những nhiệm vụ (một trong những khác chạy tốt)
[10:27:25] src/ndarray/ndarray.cc:299: Check failed: from.shape() == to->shape() operands shape mismatchfrom.shape = (119,) to.shape=(111,)
Stack trace returned 10 entries:
[bt] (0) /usr/local/lib/python2.7/site-packages/mxnet/libmxnet.so(+0xc72fc) [0x7f81443842fc]
[bt] (1) /usr/local/lib/python2.7/site-packages/mxnet/libmxnet.so(+0xc166f4) [0x7f8144ed36f4]
[bt] (2) /usr/local/lib/python2.7/site-packages/mxnet/libmxnet.so(+0xc74c24) [0x7f8144f31c24]
[bt] (3) /usr/local/lib/python2.7/site-packages/mxnet/libmxnet.so(MXImperativeInvoke+0x2cd) [0x7f8144db935d]
[bt] (4) /usr/lib64/libffi.so.6(ffi_call_unix64+0x4c) [0x7f8150b8acec]
[bt] (5) /usr/lib64/libffi.so.6(ffi_call+0x1f5) [0x7f8150b8a615]
[bt] (6) /usr/lib64/python2.7/lib-dynload/_ctypes.so(_ctypes_callproc+0x30b) [0x7f8150d9d97b]
[bt] (7) /usr/lib64/python2.7/lib-dynload/_ctypes.so(+0xa915) [0x7f8150d97915]
[bt] (8) /usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7f815a69e183]
[bt] (9) /usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x337d) [0x7f815a73107d]
Vui lòng cập nhật câu hỏi bằng mã của bạn vì mã thoát 1 có thể là do mã sai của bạn. –
@RameshMaharjan Như tôi đã chỉ ra, tôi đã thử chạy mã với một cụm nút duy nhất trên máy tính để bàn của tôi và nó hoạt động tốt. – ishan3243
Có thể: * cung cấp phiên bản MXNet được cài đặt; * cung cấp tệp 'parameters.bin'; Dường như tại một số điểm, MXNet mong đợi hình dạng khác nhau của một tensor từ những gì nó thực sự nhận được. –