您好我是Oozie的新手,我收到此错误E0902:发生异常:[用户:pramod不允许冒充pramod]当我运行以下命令时
./oozie job -oozie htt p://localhost:11000/oozie/ -config ~/Desktop/map-reduce /job.properties -run.
我的hadoop版本是1.0.3,oozie版本是3.3.2并以伪模式运行
以下是我的core-site.xml
的内容<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/pramod/hadoop-${user.name}</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
</property>
<property>
<name>hadoop.proxyuser.${user.name}.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.${user.name}.groups</name>
<value>*</value>
</property>
</configuration>
有人可以提供帮助
答案 0 :(得分:3)
Hadoop 1.0.x不支持通配符。 http://mail-archives.apache.org/mod_mbox/oozie-user/201212.mbox/%3CCAOcnVr1TZZ5X0Mrb7fFA8JdW6rO6PgoJ9u0=2UYbfXf_o8r=DA@mail.gmail.com%3E
所以试试
<property>
<name>hadoop.proxyuser.oozie.hosts</name>
<value>localhost</value>
</property>
<property>
<name>hadoop.proxyuser.oozie.groups</name>
<value>oozie,pramod</value>
</property>
答案 1 :(得分:1)
上述讨论遗漏了一件事:
在 core-site.xml 中,您需要使用启动oozie的用户,例如在调用命令“ bin / oozied.sh start 的用户中”。例如:如果你有“hadoop.proxyuser。 bob .hosts”以及hadoop.proxyuser。 bob .groups,那么用户' bob '将需要使用“ bin / oozied.sh start ”启动oozie。
答案 2 :(得分:0)
我认为您不能在密钥名称中使用变量 - 您需要对用户名进行硬编码而不是${user.name}
。
我假设您有一个oozie用户(运行oozie服务器),所以基本上您要配置如下以允许oozie用户模拟来自任何主机的任何人:
<property>
<name>hadoop.proxyuser.oozie.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.oozie.groups</name>
<value>*</value>
</property>
请确保重新启动HDFS / MAPREDUCE服务,以使其生效