2

我对oozie有点陌生。我在我的服务器上安装了(使用 cdh 存储库)oozie(我遵循了 CDH4 文档 [我的 hadoop 在 cdh4 中运行])。

我已经使用以下信息更新了我的 core-site.xml:

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

但是当我开始工作时:

sudo -u oozie oozie job -oozie http://localhost:11000/oozie -config examples/apps/sqoopList/job.properties -run

我得到:

job: 0000004-130530171203897-oozie-oozi-W

但是当我查看 oozie webconsole 时,我可以看到我的工作,但我的工作状态为“START_RETRY”,并出现以下错误

JA009: User: oozie is not allowed to impersonate oozie

而且我没有任何日志.....我真的不知道出了什么问题..

我不明白为什么我不能开始工作?你能帮我解决这个问题吗?

4

3 回答 3

1

您可以尝试以下操作:

  1. 如果 Oozie 服务器和 Hadoop 守护程序在不同的机器上,并且如果您使用oozie用户来运行命令:您必须在 hadoop 机器上创建oozie用户和oozie组。如果您有一个在单独的机器上运行 NameNode 的 Hadoop 集群,请在 NameNode 机器上创建它们。如果使用 * 通配符,则添加 oozie 组可能是多余的(我没有对此进行测试);但是您应该为oozie用户分配一个组。这样 HDFS 可以收集用户的组信息。

这是我的配置:

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

2.添加oozie用户和组后,重启hadoop守护进程。当 hadoop 再次返回时,它将具有oozie用户的组映射。

HDFS 权限指南中说明了这些操作背后的逻辑:

如上所述确定用户名后,组列表由组映射服务确定,该服务由 hadoop.security.group.mapping 属性配置。默认实现 org.apache.hadoop.security.ShellBasedUnixGroupsMapping 将使用 Unix bash -c groups 命令解析用户的组列表。

对于 HDFS,用户到组的映射是在 NameNode 上执行的。因此,NameNode 的主机系统配置决定了用户的组映射。

以下 2 个链接可以总结 HDFS 权限。 https://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html http://blog.cloudera.com/blog/2012/03/authorization-and-authentication -在Hadoop/

于 2014-03-16T18:24:04.720 回答
0

我在使用Apache Oozie时遇到了同样的问题。

在 oozie-site.xml 中添加以下内容

<property>
 <name>oozie.services.ext</name>
 <value>org.apache.oozie.service.HadoopAccessorService</value >
 <description>
  To add/replace services defined in 'oozie.services' with custom implementations.Class names must be separated   by commas.
 </description>
</property>

然后重新启动oozie。这也应该适用于 Cloudera 发行版。试一试并告诉我。

于 2014-02-26T12:43:33.110 回答
-1

使用 ambari 或 CLI
Key=hadoop.proxyuser.hostname.hosts
value= * 在 HDFS 配置中设置以下属性

键=hadoop.proxyuser.hostname.groups
值=*

如果您在 Hue 中收到“用户色调未定义为代理用户”,请按照以下步骤操作:

第 1 步:在 Ambari UI 中单击 oozie
第 2 步:单击“configs”输入配置参数
第 3 步:转到自定义 oozie-site 并添加以下 2 个属性

键=oozie.service.ProxyUserService.proxyuser.hue.groups 值= *

键=oozie.service.ProxyUserService.proxyuser.hue.hosts 值=*

于 2016-06-13T06:15:31.313 回答