在Cloudera Hue中为Oozie配置正确的端口(调用PIG脚本)

时间:2013-11-12 22:48:18

标签: apache-pig oozie hue

我是CDH4 Oozie工作流编辑器的新手。 在尝试从Oozie工作流编辑器调用pig脚本时,我收到以下错误。

HadoopAccessorException: E0900: Jobtracker [mymachine:8032] not allowed, not in Oozies whitelist

看起来Oozie正在向Yarn端口(8032)提交作业。我希望它提交到8021(MR jobtracker)端口。 有人可以帮助我确定在哪里设置作业跟踪器URL或端口,以便oozie选择正确的(使用Hue或Cloudera管理器)。

之前我尝试了以下内容,但没有一个帮助

  1. 修改了workflow.xml文件/user/hue/oozie/workspaces/../workflow.xml文件。但是,当我从工作流编辑器提交作业时,它会被覆盖。

  2. 在cloudera Manager中 - > oozie - >配置 - > Oozie服务器(高级) - > oozie-site.xml属性的Oozie服务器配置安全阀我设置了以下内容 -

    <property>
        <name>oozie.service.HadoopAccessorService.nameNode.whitelist</name>
    <value>mymachine:8020</value>
    

           oozie.service.HadoopAccessorService.jobTracker.whitelist     mymachine上:8021   

  3. 并重新启动oozie服务。 3.尝试在配置pig任务时覆盖'jobTracker'属性。这在工作流文件中显示如下,但它不会生效(或不会覆盖)并仍然使用8032端口。

    <global>
                <configuration>
                    <property>
                        <name>jobTracker</name>
                        <value>mymachine:8021</value>
                    </property>
                </configuration>
     </global>
    

    我正在使用CDH4版本。

    感谢您查看我的问题。

2 个答案:

答案 0 :(得分:1)

如果使用8032,则表示Hue配置为Yarn / MR2。你在/ about页面上有任何警告吗?你确定你没有使用MR2代替MR1吗?

More info

在我的设置中,我将其留空:

<property>
    <name>oozie.service.HadoopAccessorService.jobTracker.whitelist</name>
    <value> </value>
    <description>
        Whitelisted job tracker for Oozie service.
    </description>
</property>

答案 1 :(得分:0)

我的新cloudera集群和我在vmware中运行的本地hadoop盒有同样的问题。 我做了什么 - 我查看Cloudera Manager找到mapreduce1服务的主机名,并将其放入我的workflow.properties中的jobTracker属性中,该属性由

使用
<action name="report">
  <java>
    <job-tracker>${jobTracker}</job-tracker>
    ...
  </java>
</action>

如果我在vmware中使用本地hadoop框,则正确值为 localhost.localdomain