Oozie on OARN - oozie不允许冒充hadoop

时间:2015-06-18 21:47:17

标签: hadoop yarn oozie ambari

我尝试使用Java中的Oozie在Hadoop集群上开始工作。我对Oozie在Hadoop 1上的经验非常有限,现在我正努力在YARN上尝试同样的事情。

我给了一台不属于集群的机器,所以当我尝试开始工作时,我得到以下异常:

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代码与Hadoop 1相同?应该改变什么?例如,我在workflow.xml中设置nameNode和jobTracker,jobTracker是否存在,因为现在有ResourceManager?我已经设置了ResourceManager的地址,但是将属性名称保留为jobTracker,这可能是错误吗?

也许我还应该提到使用Ambari ......

2 个答案:

答案 0 :(得分:0)

您好请更新core-site.xml

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

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

和jobTracker地址是不会出现的Resourcemananger地址。一旦更新了core-site.xml文件,它就可以运行。

答案 1 :(得分:0)

原因: 导致此类错误的原因是 - 您将oozie服务器作为hadoop用户运行,但您将oozie定义为core-site.xml文件中的代理用户。

解决方案:

将oozie安装目录的所有权更改为oozie用户,并将oozie服务器作为oozie用户运行,问题将得到解决。