Java作业的MR Job从Oozie本地运行

时间:2016-05-04 14:49:37

标签: hadoop oozie

我正在尝试使用Java操作为Oozie中的驱动程序运行一系列MR作业。

问题是MR作业是在本地运行而不是在Hadoop集群上运行。如何解决这个问题?

以下是使用默认构造函数

创建配置时的配置

Configuration conf = new Configuration()

mapreduce.jobtracker.address = local
mapreduce.framework.name = local   

我能够通过将其添加到配置中来使我的MR作业在HDP群集上运行(基于以下链接):

Configuration conf = new Configuration(false);
conf.addResource(new Path("file:///", System.getProperty("oozie.action.conf.xml")));

然后当我打印conf时,它看起来像:

mapreduce.jobtracker.address = 192.168.84.27:8050
mapreduce.framework.name = yarn

但为什么我需要这样做以及如何避免呢?我有一系列从这个Java动作运行的MR作业,我不想将自己绑定到使用Oozie并将其添加到每个作业的配置中。有没有办法让我的作业默认在Oozie的集群上运行?

我应该提一下,这是一个HDP集群,并通过Ambari进行设置。

0 个答案:

没有答案