2015-05-27 26 views
12

Tôi không thể tìm thấy nhật ký lỗi hoặc tin nhắn từ các cuộc gọi println trong Scala khi đang thực hiện công việc trên Spark trong EMR.Bản ghi Spark trên EMR ở đâu?

Tôi có thể truy cập những thông tin này ở đâu?

Tôi nộp Spark job, viết bằng Scala để EMR sử dụng script-runner.jar với đối số --deploy-mode thiết lập để cluster--master thiết lập để yarn. Nó hoạt động tốt.

Tuy nhiên tôi không thấy println phát biểu của tôi trong Amazon EMR UI Nơi nó liệt kê "stderr, stdout etc. Furthermore if my job errors I don't see why it had an error. All I see is this in the stderr`:

15/05/27 20:24:44 INFO yarn.Client: Application report from ResourceManager: 
application identifier: application_1432754139536_0002 
appId: 2 
clientToAMToken: null 
appDiagnostics: 
appMasterHost: ip-10-185-87-217.ec2.internal 
appQueue: default 
appMasterRpcPort: 0 
appStartTime: 1432758272973 
yarnAppState: FINISHED 
distributedFinalState: FAILED 
appTrackingUrl: http://10.150.67.62:9046/proxy/application_1432754139536_0002/A 
appUser: hadoop 

'

Trả lời

11

Với chế độ triển khai cụm trên sợi trình điều khiển Spark và do đó mã người dùng được thực hiện sẽ nằm trong vùng chứa Ứng dụng chính. Có vẻ như bạn đã bật chức năng gỡ lỗi EMR trên cụm sao cho các bản ghi cũng phải được đẩy lên S3. Trong vị trí S3, hãy xem task-attempts/<applicationid>/<firstcontainer>/*.

+0

Có, điều này là chính xác. Cảm ơn bạn. Đối với những người dùng khác, bạn có thể thấy "Đăng nhập URI" trong giao diện người dùng web Amazon EMR cho thông tin/chi tiết cụm của bạn. –

0

Nếu bạn gửi công việc của bạn với emr-bootstrap bạn có thể chỉ định các bản ghi thư mục dưới dạng xô s3 với --log-uri

+0

cảm ơn - Tôi nghĩ rằng điều này có thể được đặt khi tôi tạo cụm (không phải khi gửi một công việc)? Tôi sẽ thử lần sau tôi tạo cụm –

6

Nếu bạn SSH vào nút chính của cụm của bạn thì bạn sẽ có thể tìm thấy stdout, stderr, syslog an d nhật ký điều khiển theo:

/mnt/var/log/hadoop/steps/<stepname> 
Các vấn đề liên quan