2014-02-19 46 views
1

我安裝了Hadoop並創建了一個名爲hduser的用戶,並將hadoop文件夾的所有者更改爲hduser。Unix中的用戶無法運行hadoop命令

安裝Hadoop後,我嘗試執行hadoop命令來檢查它是否安裝,但它沒有找到「hadoop」命令。

然後我已經給hadduop文件夾包含bin文件夾 所有文件執行權限hduser但仍然輸出是相同的。

當我正在嘗試相同的hadoop命令與作爲用戶它的工作正常。

我認爲它與unix命令有關。請幫助我爲我的用戶授予執行hadoop命令的權限。

還有一件事,如果我切換到root然後hadoop命令工作正常。

回答

2

這不是特權的問題。你仍然可以執行hadoop,如果你輸入/usr/local/hadoop/bin/hadoop,對吧?

問題是$PATH是用戶特定的。 您必須將$HADOOP_HOME/bin添加到$PATH,作爲hduser,而不是root。按照@iamkristian的建議,首先以hduser身份登錄(或者只輸入su hduser),然後登錄export PATH=$PATH:/$HADOOP_HOME/bin,其中$ HADOOP_HOME是放置hadoop的目錄(通常爲/usr/local/hadoop)。

+0

非常感謝這實際上是我想知道的。 – AjayLohani

2

我聽起來像hadoop不在你的道路上。您可以測試與

which hadoop 

如果給你command not found的,你可能只是需要將其添加到您的路徑。根據您安裝的Hadoop,你需要添加到您的~/.bashrc

export PATH=$PATH:/usr/local/hadoop/bin/ 

,然後重新打開你的終端

+1

我已經設置它,它顯示它在哪個命令。問題是,作爲用戶的根顯示它,但當我切換到hduser它沒有顯示路徑。 – AjayLohani

+0

並且您將上述內容添加到hduser的.bashrc中? – iamkristian

+0

感謝您的幫助 – AjayLohani