我在我的hadoop羣集中啓用了權限管理,但是我正面臨着使用豬發送作業的問題。這是該方案:Hadoop Mapreduce在啓用權限管理時失敗
1 - 我的hadoop/hadoop的用戶
2 - 我有一個運行PIG腳本myuserapp/myuserapp用戶。
3 - 我們設置的路徑/ MYAPP由myuserapp
4所擁有 - 我們設置pig.temp.dir到/ MYAPP /頭/ tmp目錄
但是,當我們的豬嘗試運行的作業我們得到以下錯誤:
job_201303221059_0009 all_actions,filtered,raw_data DISTINCT Message: Job failed! Error - Job initialization failed: org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=realtime, access=EXECUTE, inode="system":hadoop:supergroup:rwx------
Hadoop jobtracker需要此權限才能對其服務器進行statup。
我Hadoop的政策是這樣的:
<property>
<name>security.client.datanode.protocol.acl</name>
<value>hadoop,myuserapp supergroup,myuserapp</value>
</property>
<property>
<name>security.inter.tracker.protocol.acl</name>
<value>hadoop,myuserapp supergroup,myuserapp</value>
</property>
<property>
<name>security.job.submission.protocol.acl</name>
<value>hadoop,myuserapp supergroup,myuserapp</value>
<property>
我HDFS-site.xml中:
<property>
<name>dfs.permissions</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>755</value>
</property>
<property>
<name>dfs.web.ugi</name>
<value>hadoop,supergroup</value>
</property>
我的核心站點:
...
<property>
<name>hadoop.security.authorization</name>
<value>true</value>
</property>
...
最後我mapred-site.xml中
...
<property>
<name>mapred.local.dir</name>
<value>/tmp/mapred</value>
</property>
<property>
<name>mapreduce.jobtracker.jobhistory.location</name>
<value>/opt/logs/hadoop/history</value>
</property>
是否缺少配置?我如何處理在限制HDFS集羣中運行作業的多個用戶?
此解決方案是否工作? – Kumar 2015-01-28 07:31:16
在那個版本中是的! – 2015-03-06 23:13:11