我正在尝试使用 Java 中的 Oozie 在 Hadoop 集群上开始工作。我在 Hadoop 1 上使用 Oozie 的经验非常有限,现在我正在努力在 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,既然现在有ResourceManager,jobTracker应该存在吗?我设置了ResourceManager的地址,但是属性名却是jobTracker,会不会是错误?
也许我还应该提到使用了 Ambari ......