Hadoop集群提交作業問題總結

jopen 13年前發布 | 16K 次閱讀 Hadoop 分布式/云計算/大數據

我們知道可以在本地節點向遠程集群提交作業。為了實現遠程作業的提交: 首先,要確保本地機器的用戶名需要跟遠程集群的用戶名一致(在實驗環境中,集群的用戶名是hadoop,因此要在本地機器上創建一個hadoop用戶)。

其次,要確保本地機器上的用戶對hadoop執行文件和配置文件具備相應的權限(在實驗環境中,hadoop用戶需要對hadoop安裝文件具有執行權限;需要對hadoop配置文件具備讀權限;需要對作業的jar文件具備執行權限等)。

再次,本地機器的hadoop配置文件需要與集群的配置文件一致。在一般情況下直接將集群上的配置文件拷貝下來即可。

所有這些完成后使用下面命令進行作業的提交

hadoop --config 配置文件目錄 jar 作業.jar 其他參數

注意:在本次作業提交實驗過程中還發現一些問題,hadoop在通過配置文件進行啟動的過程中已經知道HDFS是使用的何種文件系統。因此,在使用的過程中不需要在添加hdfs://namenode:port/。注意,如果添加了hdfs://namenode:port/一定要注意端口與配置文件的端口是不是一致。我們知道,在命令行中輸入的參數具有較高的優先級。以下面的命令為例:

hadoop --config ~/conf  fs -ls  direcotry

其中directory是不需要以hdfs://namenode:port/開頭的,因為hadoop會根據配置文件~/conf進行默認判斷。如果directoryhdfs://namenode:port/作為開頭,那么一定要注意port。如果你沒有顯示表明port,默認的port8020。在本次實驗中,HDFS core-site設置的是hdfs://namenode:9001/,而我們在執行命令的時候輸入的是hadoop --config ~/conf fs -ls hdfs://namenode/這樣就導致了兩者的端口不一致,從而造成了麻煩。

來自:http://blog.csdn.net/zuochanxiaoheshang/article/details/8062101
</span>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!