我使用以下命令行启动一个弹性mapreduce集群:
$ elastic-mapreduce \
--create \
--num-instances "${INSTANCES}" \
--instance-type m1.medium \
--ami-version 3.0.4 \
--name "${CLUSTER_NAME}" \
--log-uri "s3://my-bucket/elasticmapreduce/logs" \
--step-name "${STEP_NAME}" \
--step-action TERMINATE_JOB_FLOW \
--jar s3://elasticmapreduce/libs/script-runner/script-runner.jar \
--arg s3://my-bucket/log-parser/code/hadoop-script.sh \
--arg "${CLUSTER_NAME}" \
--arg "${STEP_NAME}" \
--arg s3n://my-bucket/log-parser/input \
--arg s3n://my-bucket/log-parser/output
我希望能够从hadoop-script.sh发送一封电子邮件,其中包含日志文件,但这些文件会写入s3://my bucket/elasticmapreduce/logs/{job\u flow\u id}。有没有办法知道shell脚本中的作业流id?
还有:有没有办法知道jobflow名称,步骤名称(目前我把它们当作论点来传递,但感觉很不舒服)
1条答案
按热度按时间rbpvctlc1#
您可以使用ruby脚本,而不是使用shell脚本:
您还可以获取有关作业步骤的信息,例如:
或示例信息:
基本上,所有的东西
/mnt/var/lib/info/
目录可通过此接口使用。