在 YARN 中为 CLI 提交的作业设置 applicationTags 属性

Ale*_*ord 3 hadoop hadoop-yarn

我想跟踪 YARN 中的一些相关应用程序。它们是通过命令行提交的,例如

yarn jar hadoop-mapreduce-examples.jar pi 10 100
Run Code Online (Sandbox Code Playgroud)

Python 有一个非常易于使用的 YARN 客户端,它返回以下内容:

finalStatus = SUCCEEDED
id = application_1458083392566_0929
state = FINISHED
name = QuasiMonteCarlo
applicationType = MAPREDUCE
user = awoolford
applicationTags = 
[...etc...]
Run Code Online (Sandbox Code Playgroud)

我注意到有一个applicationTags房产。这将是跟踪相关应用程序组的理想方法。我尝试通过设置它HADOOP_CLIENT_OPTS,例如

HADOOP_CLIENT_OPTS="-DapplicationTags=batch123,chunk62" hadoop jar [...etc...]
Run Code Online (Sandbox Code Playgroud)

...但是applicationTags当我尝试通过 Python 客户端检索字符串时,该字符串没有显示在 YARN 中。

问)如何提交 YARN 作业并applicationTags从命令行填充属性?

Ale*_*ord 6

需要设置的属性被调用mapreduce.job.tags(请参阅Jira)。因此,对于计算 Pi MapReduce 示例,您可以像这样标记作业:

yarn jar hadoop-mapreduce-examples.jar pi -Dmapreduce.job.tags=myJobTag 10 100
Run Code Online (Sandbox Code Playgroud)

感谢Cloudera 的Neerja Khattar找出了如何做到这一点。