我非常感謝您的幫助。Hadoop:針對多個用戶的僞分佈式模式
我已經使用root用戶憑證以僞分佈模式設置Hadoop。我想爲多個用戶提供訪問權限(讓我們說hadoop1,hadoop2等)能夠在此羣集上提交和運行MapReduce作業。我們如何完成這項工作?
我到目前爲止做了什麼?
> - Setup Hadoop to run in Pseudo-distributed mode
> - Used "root" user credentials to set this up.
> - Added users hadoop1 and hadoop2 to a group called "hadoop".
> - Added root also to be part of the group "hadoop".
> - Created a folder called hdfstmp and set this as the path for hadoop.tmp.dir.
> - Started the cluster using bin/start-all.sh
> - Ran MapReduce jobs using hadoop1 and hadoop2 users.
我得到了下面的錯誤:
Exception in thread "main" java.io.IOException: Permission denied
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1006)
at java.io.File.createTempFile(File.java:1989)
at org.apache.hadoop.util.RunJar.main(RunJar.java:119)
- 爲了克服這個錯誤,我給組 「的Hadoop」 rwx權限到文件夾hdfstmp。這個文件夾的權限看起來像drwxrwxr-x。
- 使用hadoop1和hadoop2用戶登錄提交MapReduce作業。這項工作運行良好,沒有任何錯誤。
但是,如果我做了一個stop-all.sh,然後做一個start-all.sh,DataNode(偶爾甚至NameNode)不會啓動。當我檢查日誌時,發現錯誤如下:
2013-09-21 16:43:54,518 WARN org.apache.hadoop.hdfs.server.datanode.DataNode:dfs.data.dir中的目錄無效:不正確的許可/ data/hdfstmp/dfs/data,預計:rwxr-xr-x,而實際:rwxrwxr-x
現在,不更改hdfstmp目錄的組所有權,用戶不運行。但是,當NameNode重新啓動時,我得到如上問題。
我該如何解決這個問題?同樣的最佳做法是什麼?
此外,有沒有辦法監測不同用戶提交的作業?我假設Web UI應該允許我這樣做。請確認。
我很感激您可以就此問題提供的任何幫助。謝謝。
問候
當您修改tmp文件夾權限 - 您是否修改HDFS或本地磁盤上的文件夾? –
克里斯 - 我修改了本地磁盤上的權限。 – user3031097