【问题标题】:Not able to submit oozie job on kerberized cluster无法在 kerberized 集群上提交 oozie 作业
【发布时间】:2015-08-27 12:28:47
【问题描述】:

我正在尝试将 oozie 作业提交到 kerberized 集群。 下面是命令:

oozie job -run -DjobTracker=jobtracker-host:8032 -DnameNode=hdfs://namenode-host:8020 -DexamplesRoot=oozie.TestOozieCli.1440674219900/examples -config /tmp/oozie.TestOozieCli.1440674219900/examples/apps/java-main/job_config.xml

它抛出以下错误:

Error: IO_ERROR : java.io.IOException: Error while connecting Oozie server. No of retries = 1. Exception = Could not authenticate, Authentication failed, status: 403, message: Forbidden.

知道我为什么会遇到这个错误吗?

【问题讨论】:

    标签: hadoop kerberos oozie


    【解决方案1】:

    Oozie 命令行使用 REST API 连接到 Oozie 服务器。如果 oozie 服务器设置为使用 Kerberos,则 REST API 将使用 HTTP SPNEGO 进行身份验证。

    在您的情况下,http authen 似乎失败了。您应该在 oozie 命令之前先运行 kinit,例如:

    kinit -kt {location of your keytab file} {principal}
    

    或者只是在出现提示时 kinit 并输入密码:

    kinit
    

    【讨论】:

      【解决方案2】:

      你检查过你的 Core-site.xml 什么是 hadoop.proxyuser.oozie.hostshadoop.proxyuser.oozie.groups

      请尝试设置

        <property>
          <name>hadoop.proxyuser.oozie.hosts</name>
          <value>*</value>
        </property>
          <property>
          <name>hadoop.proxyuser.oozie.groups</name>
          <value>*</value>
        </property>
      

      其中“star”确认访问所有用户在oozie中提交作业

      修改core-site.xml后需要重启hadoop。

      已编辑:

      正如您提到的对安全性的关注,在这种情况下,您可以提及 Oozie 将用来接收工作请求的选择性用户名,而不是提及“star”,您可以提及用户名,例如同一属性上的“oozie,hdfs,hbase,user”,这些也可以使用。

      【讨论】:

      • 嗨,Sarkar,这实际上解决了问题。非常感谢你的帮助。但是对这些属性使用 * 似乎太开放了,并且可能会引入一些安全漏洞。现在我正在寻找替代方法来克服它。
      • 供参考 您可以查看link 这些提到了一些用于 Oozie Job 的替代选项,希望这些对您有所帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多