我在Spark
的{{1}}上运行作业时,无法找到Scala中EMR
次来电的错误日志或消息。
我在哪里可以访问这些?
我使用Spark job
提交Scala
写的EMR
script-runner.jar
,--deploy-mode
参数cluster
设为--master
, yarn
设置为println
。它运作良好。
但是我没有在Amazon EMR UI
列出&{34; 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
语句:
{{1}}
`
答案 0 :(得分:14)
使用群集在纱线上的部署模式,Spark驱动程序以及因此执行的用户代码将位于Application Master容器中。听起来你在群集上启用了EMR调试,因此日志也应该推送到S3。在S3位置查看task-attempts/<applicationid>/<firstcontainer>/*
。
答案 1 :(得分:8)
如果您通过SSH连接到群集的主节点,那么您应该能够在以下位置找到stdout,stderr,syslog和controller日志:
/mnt/var/log/hadoop/steps/<stepname>
答案 2 :(得分:1)
我也花了很多时间来解决这个问题。在以下位置找到日志: EMR UI控制台->摘要->日志URI->容器-> application_xxx_xxx-> container_yyy_yy_yy-> stdout.gz。
答案 3 :(得分:0)
如果您使用emr-bootstrap提交作业,则可以将日志目录指定为带有--log-uri
的s3存储区
答案 4 :(得分:0)
事件日志,spark-history-server
所需的日志可以在以下位置找到:
hdfs:///var/log/spark/apps