0

我正在尝试使用 oozie 执行 sqoop 任务。代码结构如下

我的本地文件系统上有一个 job.properties 文件,我用它来提交 oozie 作业。Job.properties 文件如下

namenode=hdfs://servername:8020
jobtracker=servername:8021
queuename=default
oozie.wf.application.path=${namenode}/user/username/oozie

命令,我用来提交作业的是

oozie job -oozie http://localhost:11000/oozie \PATH\job.properties -run

如属性应用程序路径 (/user/username/oozie) 中所述,我在 HDFS 路径中有我的 workflow.xml。使用 HDFS 文件夹中的 workflow.xml,我也复制了 sqljdbc4.jar。

提交作业后,我的 oozie.log 文件中出现此错误。

Caused by: java.net.ConnectionException: Call to
servername/10.248.92.1:8021 failed on connection exception:

我不确定,是什么导致了这个异常。一件奇怪的事情是,这个 ip 地址:10.248.92.1 用于相同的服务器名称。

4

2 回答 2

0

这意味着 JobTracker 出于某种原因未运行或未侦听端口 8021。做一个telnet servername 8021并验证相同的。

于 2013-10-24T06:50:40.840 回答
0

我看到你正在运行 Hortonworks。他们最近将 jobtracker 端口默认更改为 50030。这为您提供了两种选择。1) 将属性文件的端口更改为 8021,以及依赖于 jobtracker 端口的任何其他文件/设置,或 2) 将 jobtracker 端口更改回 8021。如果您更喜欢选项 2,请参阅此处的说明。

jobtracker 端口不是一个易于追踪的设置,但对于 HDP 1.3.2,您可以在/usr/lib/ambari-server/web/javascripts/apps.js. 寻找如下所示的块:

{
    "name": "mapred.job.tracker",
    "templateName": ["jobtracker_host"],
    "foreignKey": null,
    "value": "<templateName[0]>:50300",
    "filename": "mapred-site.xml"
},

并将其更改503008021. 不幸的是,该更改不足以使集群获取新端口。转到 Ambari Web UI 并停止 MapReduce 服务。转到其配置,可能会发生良性变化(如果需要,您可以稍后将其更改回来)。重新启动 MapReduce 后,良性更改和对 jobtracker 端口的更改将保持不变,您将在端口 8021 上运行。如果您正在运行依赖于 jobtracker 端口的其他服务,请继续并停止并重新启动它们。

不幸的是,每次升级集群时都必须这样做(除非 Hortonworks 更改了它的设置方式)。您可能只想咬紧牙关,让一切在端口 50300 上寻找 jobtracker。

于 2013-10-24T16:23:38.510 回答