运行命令时 yarn application -list
在我的hadoop集群上,它返回正在运行的应用程序列表。
我想用java获取这个列表。
目前我正在使用yarnclient api
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-client</artifactId>
<version>2.7.0</version>
</dependency>
我的代码看起来像:
YarnConfiguration conf = new YarnConfiguration();
YarnClient yarnClient = YarnClient.createYarnClient();
yarnClient.init(conf);
yarnClient.start();
List<ApplicationReport> list = yarnClient.getApplications();
System.out.print(list.size());
yarnClient.stop();
但这条线会被挂起来 List<ApplicationReport> list = yarnClient.getApplications()
不前进。
1条答案
按热度按时间62lalag41#
我的密码挂了
#getApplications()
当我的yarnconfiguration没有正确配置时。默认情况下,它使用0.0.0.0:8032
作为资源管理器地址。我必须用正确的地址改写这个:我用hadoop2.6.0测试了这个,但是看起来2.7.0的默认值也是一样的(见参考资料)。