引文地址:http://www.cnblogs.com/welbeckxu/archive/2011/12/29/2306526.html
這幾天剛接觸Hadoop,在學習如何搭建一個Hadoop集羣。在這分享一下經驗,ubuntu10.04 +hadoop0.20.2。
Hadoop的運行模式有以下三種。
單機模式(standalone)
單機模式是Hadoop的默認模式。當首次解壓Hadoop的源碼包時,Hadoop無法瞭解硬件安裝環境,便保守地選擇了最小配置。在這種默認模式下所有3個XML文件均爲空。當配置文件爲空時,Hadoop會完全運行在本地。因爲不需要與其他節點交互,單機模式就不使用HDFS,也不加載任何Hadoop的守護進程。該模式主要用於開發調試MapReduce程序的應用邏輯。
僞分佈模式(Pseudo-Distributed Mode)
僞分佈模式在“單節點集羣”上運行Hadoop,其中所有的守護進程都運行在同一臺機器上。該模式在單機模式之上增加了代碼調試功能,允許你檢查內存使用情況,HDFS輸入輸出,以及其他的守護進程交互。
全分佈模式(Fully Distributed Mode)
Hadoop守護進程運行在一個集羣上。
我是在虛擬機裝的ubuntu10.04。
Hadoop以Java語言寫就,因而需要在本地計算機上安裝Java 6或更新版本。
安裝JDK1.6
安裝之前:
xukangde@xukangde-01:~$ java -version 程序“java”已包含在下列軟件包中: * gcj-4.4-jre-headless * openjdk-6-jre-headless * cacao * gij-4.3 * jamvm 請嘗試:sudo apt-get install <選定的軟件包>
安裝:
xukangde@xukangde-01:~$ sudo apt-get install openjdk-6-jdk
安裝後:
xukangde@xukangde-01:~$ java -version java version "1.6.0_20" OpenJDK Runtime Environment (IcedTea6 1.9.10) (6b20-1.9.10-0ubuntu1~10.04.2) OpenJDK Client VM (build 19.0-b09, mixed mode, sharing)
安裝hadoop0.20.2
從官網下載hadoop-0.20.2.tar.gz放在/home/xukangde目錄下
解壓
xukangde@xukangde-01:~$ sudo tar xzf hadoop-0.20.2.tar.gz
更名,僅僅爲了方便
xukangde@xukangde-01:~$ sudo mv hadoop-0.20.2 hadoop
修改Hadoop文件的擁有者
xukangde@xukangde-01:~$ sudo chown -R xukangde:xukangde hadoop
配置JAVA_HOME路徑
xukangde@xukangde-01:~$ cd hadoop xukangde@xukangde-01:~/hadoop$ gedit conf/hadoop-env.sh
hadoop-env.sh:Hadoop配置文件。格式爲Bash腳本,記錄腳本要用的環境變量,以運行Hadoop。
將
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
改爲
# The java implementation to use. Required.
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
輸入以下命令來判斷Hadoop是否運行
xukangde@xukangde-01:~/hadoop$ bin/hadoop version Hadoop 0.20.2 Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707 Compiled by chrisdo on Fri Feb 19 08:07:34 UTC 2010
此時說明已經成功配置好了Standalone mode。
下面來
運行WordCount
在hadoop目錄下新建input文件夾
xukangde@xukangde-01:~/hadoop$ mkdir input
將conf中的所有文件拷貝到input文件夾中
xukangde@xukangde-01:~/hadoop$ cp conf/* input
運行WordCount程序,並將結果保存到output中
xukangde@xukangde-01:~/hadoop$ bin/hadoop jar hadoop-0.20.2-examples.jar wordcount input output
運行
xukangde@xukangde-01:~/hadoop$ cat output/*
你會看到conf所有文件的單詞和頻數都被統計出來。
僞分佈模式和全分佈模式的Hadoop部署待續。