2014-01-23 71 views
2

嗨,我是Hadoop的新手。Hadoop集羣配置與Ubuntu主和Windows奴隸

Hadoop的版(2.2.0)

目標:

  1. 設置Hadoop的獨立 - Ubuntu的12 (已完成)
  2. 設置Hadoop的獨立 - Windows 7的(cygwin的被用於僅sshd的)(已完成)
  3. 安裝集羣與Ubuntu主和Windows 7奴隸(這主要是爲了學習的目的,並建立一個env開發MENT)(卡住)

與下面的問題關係設置:運行在Ubuntu上使用Hadoop

  • 大師2.2.0
  • 奴隸與自編譯的版本在Windows 7上運行hadoop 2.2.0源碼。我正在使用cygwin僅用於sshd
  • 無密碼登錄設置,我可以使用來自外部hadoop的ssh 兩種登錄方式。由於我的Ubuntu和Windows機器有 不同的用戶名我已經建立了在你的.ssh文件夾 它映射主機與用戶

問題的配置文件:

  1. 在集羣確實在用戶名主機需要與從機相同。我問這個問題的原因是當我嘗試使用start-dfs.sh時,集羣的後期配置日誌表示它們能夠ssh進入從節點,但無法找到位置「/ home/xxx/hadoop/bin/hadoop-daemon.sh「。 「xxx」是我的主用戶名,而不是slaveone。另外,因爲我的奴隸在純Windows版本的安裝位於C:/ hadoop/...主人是否會查看env變量$ HADOOP_HOME以檢查安裝位置在從站中?是否還有其他需要設置的env變量?

  2. 我的目標是使用Windows hadoop搭建slave,因爲hadoop現在正式支持windows。但是,在cygwin下運行Linux版本來完成這一點會更好嗎?問題出現了,因爲我看到start-dfs.sh正在嘗試執行hadoop-daemon.sh而不是某些* .cmd。

  3. 如果這個設置在將來出現,我可能會遇到的問題是Pig,Mahout等是否會在這種設置中運行,因爲我還沒有看到過構建Pig,Mahout for Windows。這些組件是否僅需要存在於主節點上,還是需要存在於從節點中?我在使用mahout腳本試驗獨立模式時發現了兩種運行mahout的方法,我可以在linux中使用mahout腳本,然後使用yarn jar命令,在使用windows版本的同時在mahout jar中傳入。在這種情況下,Mahout/Pig(當使用提供的sh腳本時)會認爲從站已經安裝了jar,那麼Ubuntu + Windows組合似乎不起作用。請指教。

正如我所提到的,這更像是一個實驗而非實施計劃。我們的最終環境將完全在Linux上。謝謝你的建議。

回答

1

使用更多標準的hadoop部署方式,您可能會獲得更多成功。嘗試使用Ubuntu的虛擬主機和奴隸。

您還可以嘗試執行僞分佈式部署,其中所有進程都在單個虛擬機上運行,​​從而避免需要考慮多個OS的情況。

+0

感謝您的建議。正如我所提到的,這是更多的實驗來檢查是否可行,因爲Hadoop 2.2.0不是Windows準備好的。對於我們的開發,我們正在使用Linux羣集。但這更像是一個我想同時進行個人學習的實驗。 –

+0

好的。祝你好運 ;) – javadba

1

我只使用了相同的用戶名。通常,SSH允許使用-l命令以不同的登錄名登錄。但是這可能會變得棘手。你必須在奴隸文件中列出你的奴隸。

至少在手冊https://hadoop.apache.org/docs/r0.19.1/cluster_setup.html#Slaves我沒有找到任何東西來添加用戶名。可能值得嘗試將-l login_name添加到slave conf文件中的slavenode中,並查看它是否有效。