gpt4 book ai didi

java - 使用 Java API 查找提交 yarn 应用程序的用户

转载 作者:可可西里 更新时间:2023-11-01 16:30:37 24 4
gpt4 key购买 nike

我需要使用Java获取在集群中提交Yarn应用的用户的详细信息。

我可以使用 CLI 查看这些详细信息

yarn application -list

它给出了包含用户详细信息的作业详细信息列表。

现在的需求是在访问集群中的某些文件之前,先找到提交当前正在运行的作业的用户,并授权给他。我该怎么做?欢迎任何有效的输入。

最佳答案

  • yarn 应用程序 的情况下,yarn 脚本使用 org.apache.hadoop.yarn.client.cli.ApplicationCLI,所以获取源代码(在我的例子中是 org.apache.hadoop:hadoop-yarn-client:2.7.0)

  • ApplicationCLI 中,有一个方法 listApplications,您可以从中提取用户:

List<ApplicationReport> appsReport = client.getApplications(appTypes,
appStates);
  • 因此,一种方法是制作一份 ApplicationCLI 的副本,并删除所有不需要的部分。

至于从作业“内部”获取应用程序 ID,有 SparkContext.applicationId

关于java - 使用 Java API 查找提交 yarn 应用程序的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34230154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com