运行Oozie作业



我正在尝试将Oozie配置为在我的hadoop-2.7.1集群上工作。YARN、Hue、MapReduce和Spark似乎一切都很好。通过yarn jar...命令发送的作业正确完成,但通过CLI oozie job ... -run或Hue发送一些带有oozie的作业时,作业停留在33%,节点日志显示:

2015-11-06 06:08:56,121 INFO [main] org.apache.hadoop.yarn.client.RMProxy: Connecting to ResourceManager at localhost/127.0.0.1:18030
2015-11-06 06:08:57,165 INFO [main] org.apache.hadoop.ipc.Client: Retrying connect to server: localhost/127.0.0.1:18030. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
...

我在配置中的任何位置都不使用18030端口,可能我应该将其主机名从localhost更改为网络主机名。但是我在哪里配置它呢?我试过更改yarn.resourcemanager.scheduler.address,但不是这样。

编辑:我运行oozie job -config examples/apps/shell/job.properties -runjob.properties包含:

nameNode=hdfs://master:8020
jobTracker=master:8032
queueName=default
examplesRoot=examples
oozie.libpath=/data/shared/hadoop-2.7.1/etc/hadoop
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/shell

尝试联系资源管理器时出错。

上面提到的日志行正在RMProxy.java:中打印

LOG.info("Connecting to ResourceManager at " + rmAddress);

当您将Oozie与MRv1一起使用时,在"job.properties"文件中,jobTracker的值设置为job Tracker的地址:

jobTracker={jobTracker主机}:{jobTracker端口}

但是,当您将Oozie作业迁移到MRv2时,您需要更改"job.properties",以使jobTracker值指向资源管理器地址:

jobTracker={RM主机}:{RM端口}

请参阅此处的链接:https://support.pivotal.io/hc/en-us/articles/203355837-How-to-run-a-MapReduce-jar-using-Oozie-workflow

jobTracker = Variable to define the resource manager address in case of Yarn implementation. Format: <resourcemanager_hostname>:<port>

编辑:我浏览了Hadoop的源代码。唯一使用端口"18030"的地方是"SLS"(纱线调度程序负载模拟器)。

SLS有一个yarn-site.xml文件(位于:\hadoop tools\hadoop-SLS\src\main\sample-conf\yarn site.xml),配置如下:

  <property>
    <description>The address of the scheduler interface.</description>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>localhost:18030</value>
  </property>

根据您的描述,目前使用的yarn-site.xml似乎与SLS使用的类似。

最新更新