我正在尝试使用java中的oozie在hadoop集群上启动一个作业。我在Hadoop1上使用oozie的经验非常有限,现在我正在努力尝试同样的东西。
我得到了一台不属于集群的机器,因此当我尝试开始我的工作时,会遇到以下异常:
E0501 : E0501: Could not perform authorization operation, User: oozie is not allowed to impersonate hadoop
为什么会这样?怎么办?
我读了一些需要设置的核心站点属性
<property>
<name>hadoop.proxyuser.oozie.groups</name>
<value>users</value>
</property>
<property>
<name>hadoop.proxyuser.oozie.hosts</name>
<value>master</value>
</property>
看来这就是问题所在吗?我应该联系负责集群的人来解决这个问题吗?
会不会有问题,因为我对yarn使用的代码和hadoop1相同?应该改变什么吗?例如,我正在workflow.xml中设置namenode和jobtracker,jobtracker是否应该存在,因为现在有resourcemanager?我设置了resourcemanager的地址,但将属性名保留为jobtracker,这可能是错误吗?
也许我也应该提一下,Ambari是用来。。。
2条答案
按热度按时间m4pnthwp1#
嗨,请更新core-site.xml
而jobtracker address是resourcemananger的地址,情况并非如此。一旦更新core-site.xml文件,它就可以工作了。
nmpmafwu2#
原因:这类错误的原因是-您以hadoop用户的身份运行oozie服务器,但在core-site.xml文件中将oozie定义为代理用户。
解决方案:
将oozie安装目录的所有权更改为oozie用户,并以oozie用户的身份运行oozie服务器,问题将得到解决。