我对奥齐有点陌生。我(使用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
我没有任何日志。。。。。我真的不知道怎么了。。
我不明白为什么我不能开始工作?你能帮我吗?
3条答案
按热度按时间flseospp1#
我在使用apacheoozie时遇到了同样的问题。
在oozie-site.xml中添加以下内容
然后重新启动oozie。这应该也适用于cloudera发行版。请尝试一下,让我知道。
6rqinv9w2#
您可以尝试以下操作:
如果oozie服务器和hadoop守护进程在不同的机器上,并且您使用oozie用户运行命令:您必须在hadoop机器上创建oozie用户和oozie组。如果hadoop集群的namenode运行在单独的机器上,请在namenode机器中创建这些集群。如果使用*通配符,添加oozie组可能是多余的(我没有对此进行测试);但是你应该给oozie用户分配一个组。这样hdfs就可以收集用户的组信息。
这是我的配置:
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/
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值=*