oozie不允许冒充oozie

nkkqxpd9  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(400)

我对奥齐有点陌生。我(使用cdh repo)在服务器上安装了oozie(我遵循了cdh4文档[我的hadoop正在cdh4中运行])。
我已使用以下信息更新了my 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

但是当我在OozieWebConsole中查看时,我可以看到我的作业,但是我的作业的状态为“start\u retry”,并出现以下错误

JA009: User: oozie is not allowed to impersonate oozie

我没有任何日志。。。。。我真的不知道怎么了。。
我不明白为什么我不能开始工作?你能帮我吗?

flseospp

flseospp1#

我在使用apacheoozie时遇到了同样的问题。
在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发行版。请尝试一下,让我知道。

6rqinv9w

6rqinv9w2#

您可以尝试以下操作:
如果oozie服务器和hadoop守护进程在不同的机器上,并且您使用oozie用户运行命令:您必须在hadoop机器上创建oozie用户和oozie组。如果hadoop集群的namenode运行在单独的机器上,请在namenode机器中创建这些集群。如果使用*通配符,添加oozie组可能是多余的(我没有对此进行测试);但是你应该给oozie用户分配一个组。这样hdfs就可以收集用户的组信息。
这是我的配置:

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

2添加oozie用户和组后,重新启动hadoop守护进程。当hadoop再次出现时,它将拥有oozie用户的组Map。
hdfs权限指南中说明了这些操作背后的逻辑:
如上所述确定用户名后,组列表由组Map服务确定,该服务由hadoop.security.group.mapping属性配置。默认实现org.apache.hadoop.security.shellbasedunixgroupsmapping将使用unix bash-c groups命令为用户解析组列表。
对于hdfs,用户到组的Map是在namenode上执行的。因此,namenode的主机系统配置决定了用户的组Map。
以下两个链接可以提供关于hdfs权限的摘要。https://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-hdfs/hdfspermissionsguide.htmlhttphttp://blog.cloudera.com/blog/2012/03/authorization-and-authentication-in-hadoop/

cvxl0en2

cvxl0en23#

使用ambari或cli在hdfs config中设置以下属性
key=hadoop.proxyuser.hostname.hosts
值=*
key=hadoop.proxyuser.hostname.groups
值=*
如果您在色调中获得“用户色调未定义为proxyuser”,请执行以下步骤:
步骤1:在ambari ui中单击oozie
第二步:点击“configs”输入配置参数
第3步:去自定义oozie网站,添加以下2个属性
key=oozie.service.proxyuserservice.proxyuser.hue.groups值=*
key=oozie.service.proxyuserservice.proxyuser.hue.hosts值=*

相关问题