歡迎您光臨本站 註冊首頁

Hadoop 0.21.0 集群配置小記

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

完成了一個三台機器的hadoop集群的配置,兩台linux+一台windows7的組合,比較怪異,但畢竟是出於學習的目的,所以就嘗試了不同的平台。何況hadoop本身就具有跨平台的特性。下面介紹一下整個配置的過程一些關鍵的地方和一些問題的解決:

使用版本:0.21.0

主要參考資料:

[1]http://hadoop.apache.org/common/docs/r0.21.0/cn/cluster_setup.html這部分中文的內容有點舊,沒有針對0.20+版本進行更新

[2] http://www.linuxidc.com/Linux/2011-12/48549.htm

[3] http://www.linuxidc.com/Linux/2011-12/48550.htm

[4] http://www.linuxidc.com/Linux/2011-12/48551.htm

集群組成:

HDFS是Hadoop應用用到的一個最主要的分散式存儲系統。一個HDFS集群主要由一個NameNode和很多個Datanode組成:Namenode管理文件系統的元數據,而Datanode存儲了實際的數據。從任務角度,集群又由jobTracker和taskTracker組成,其中jobTracker負責調度,而taskTracker負責具體的任務的處理;jobTracker和namenode可以分別配置於不同的機器上,也可以位中同一台機器,而taskTracker和datanode最好在同一台機器上。在我這裡,由於環境的限制,jobTracker和namenode一同配置在作為master的192.168.1.67上,而另外兩台,66和55分為作為slave,配置datanode+tasknode。其中66為Ubuntu10.10 server,而55為win7 旗艦版。

關於配置方面

先說明下關於windows下使用hadoop的配置,因為其相對比較特殊

需要安裝cygwin,具體安裝方法請參考資料[2],在安裝cygwin時,注意要添加openssh組件,為了方便起見,最好安裝一些文本編輯器,如vim,或者nano。在安裝完成cygwin之後,要配置好ssh server,參見 http://www.linuxidc.com/Linux/2011-12/48552.htm .注意 ,如果是win7,那麼由於許可權問題,需要我們建立一個用戶來運行sshd服務,在cygwin中的命令行里都會有相應提示,大家注意看,按著做就成。 在建立該用戶的時候,要注意的是,用戶名和密碼要和另外兩台伺服器的用戶名密碼相同,這樣才方便集群管理。

如果啟動hadoop出現java.lang.NoClassDefFoundError:org/apache/hadoop/util/PlatformName錯誤,則要修改${HADOOP_HOME}/bin/hadoop-config.sh文件中的第190行的一下的內容

JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m ${HADOOP_JAVA_PLATFORM_OPTS} org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"`

JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m -classpath ${HADOOP_COMMON_HOME}/hadoop-common-0.21.0.jar org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"`

參見 http://www.linuxidc.com/Linux/2011-12/48553.htm

其它一些注意事項:

在0.21版本中,${HADOOP_HOME}/conf/下的配置文件中,不再有hadoop-site.xml,由core-site.xml,hdfs-site.xml,mapred-site.xml取而代之,

在core-site中,配置fs.default.name屬性,即NameNode的URI,值為 hdfs://主機名:商品/

在hdfs-site.xml中,

配置dfs.data.dir,即DataNode存放塊數據的本地文件系統路徑,值可以是以逗號分割的路徑列表

配置dfs.name.dir,即NameNode持久存儲名字空間及事務日誌的本地文件系統路徑。

例如

  1. <configuration>  
  2. <property>  
  3. <name>dfs.data.dirname>  
  4. <value>/data/hadoop-jobs/datavalue>  
  5. property>  
  6. <property>  
  7. <name>dfs.name.dirname>  
  8. <value>/data/hadoop-jobs/namevalue>  
  9. property>  
  10. <property>  
  11.     <name>dfs.replicationname>  
  12.     <value>1value>  
  13.         


[火星人 ] Hadoop 0.21.0 集群配置小記已經有491次圍觀

http://coctec.com/docs/net/show-post-68195.html