我正在尝试配置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 -run
运行job.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
答案 0 :(得分:1)
尝试联系资源管理器时发生错误。
上面提到的日志行正在RMProxy.java中打印:
LOG.info("Connecting to ResourceManager at " + rmAddress);
当您使用Oozie和MRv1时,在" job.properties"文件, jobTracker 的值设置为作业跟踪器的地址:
jobTracker = {JobTracker Host}:{JobTracker Port}
但是,当您将Oozie作业迁移到MRv2时,您需要更改" job.properties",使 jobTracker 值指向资源管理器地址:
jobTracker = {RM Host}:{RM Port}
jobTracker = Variable to define the resource manager address in case of Yarn implementation. Format: <resourcemanager_hostname>:<port>
修改强> 我浏览了Hadoop源代码。港口&#34; 18030&#34;正在使用的是&#34; SLS&#34; (纱线调度程序负载模拟器)。
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使用的类似。