2013-03-07 47 views
2

我已經能夠使用python mapper & reducer設置流示例。在mapred文件夾位置是/ mapred /本地/ TaskTracker共同 這兩根& mapred用戶擁有所有權到這個文件夾&子文件夾CentOS上的Hadoop流蟒蛇示例 - 權限在/ mapred/local/taskTracker上被拒絕

但是當我跑我的串流它創建的地圖,但沒有降低,並提供了以下錯誤 無法運行計劃 /mapred/local/taskTracker/root/jobcache/job_201303071607_0035/attempt_201303071607_0035_m_000001_3/work/./mapper1.py 權限被拒絕

我注意到,雖然它提供了一個+ RWX權限mapred /本地/ TaskTracker共同所有它的子目錄,當mapreduce爲這個作業創建臨時文件夾時,文件夾沒有所有用戶的rwx ...因此我得到的權限被拒絕錯誤

我一直在尋找這個論壇上的線程,雖然有線程提及相同的錯誤......我找不到任何解決方案。

任何幫助,將不勝感激

回答

0

我假設你運行Hadoop守護進程作爲用戶root。在這種情況下,新創建文件的權限由用戶rootumask決定。但是,您不能更改umaskroot

如果您希望以不同的用戶身份運行MapReduce作業和集羣,最好以用戶hadoop啓動Hadoop守護程序,並以用戶mapreduce作爲用戶啓動MapReduce作業。但是,兩個用戶應該屬於同一組,即hadoop。此外,用戶hadoopumask應相應設置。

+0

hello harpun,這聽起來合乎邏輯...讓我試試這些選項。但是,因爲我在cloudera上運行它,所以我需要找出如何以用戶hadoop啓動線程。 感謝指針反正 – user2145098 2013-03-08 00:41:46