閒來無事,突然看到關於Hadoop集羣。以前也瞭解過,網上找過一些關於百度,谷歌等底層hadoop集羣的文檔,可是面對很多陌生的技術,看不太通透。所有想自己動手虛擬機試試。經常聽到這麼高大上的名詞,Hadoop已經成為大數據的代名詞。短短几年間,Hadoop從一種邊緣技術成為事實上的標準。而另一方面,MapReduce在谷歌已不再顯赫。當企業矚目MapReduce的時候,谷歌好像早已進入到了下一個時代。


Hadoop支持三種啓動集羣模式,分別是單機模式,wei分佈式模式,安全分佈式模式。下面我做的測試是單機模式。

我用的是阿里雲ECS主機免費試用版,,,,,,

uname  -a

Linux iZ25wbw8q4uZ 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

1,創建hadoop户和羣組

1.PNGwKiom1XQUhmR-lzDAAIBDI-X4IY619.jpg

回車後會提示輸入新的UNIX密碼,這是新建用户hadoop的密碼輸入回車即可。

    如果不輸入密碼,回車後會重新提示輸入密碼,即密碼不能為空。

    最後確認信息是否正確,如果沒問題,輸入 Y,回車即可。

修改hadoop為root權限

vim /etc/sudoers

修改添加hadoop  ALL=(ALL:ALL) ALL

2.PNGwKioL1XQVEHiL2sMAAEg1-lKqc0129.jpg

2,安裝ssh支持服務,實現免密登錄

查詢ssh包支持,並創建ssh免密登錄服務器

用到的命令:su hadoop   //切換用户

dpkg -l | grep openssh-server    //查詢ssh支持包

service  ssh start  //啓動ssh遠程連接服務

ssh-keygen -t rsa  //生成ssh私/公鑰密碼文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  //拷貝公鑰認證文件

ssh localhost  //本機ssh登錄測試

wKioL1XQVNDgGV1nAAIm92JvX0A973.jpg

wKiom1XQUsjx310cAAC7IItZP6w458.jpg

3,安裝JAVA環境

http://www.oracle.com/technetwork/java/javase/downloads/index.html    下載jdk 

java -version命令出現如下是因為沒有正確設置環境變量

4.PNGwKiom1XQUwuCSXHLAACS5odhgNc513.jpg

tar zxvf jdk-8u51-linux-x64.tar.gz

mv jdk1.8.0_51/ /usr/local/src/jdk1.8

修改環境變量,

vim ~/.bashrc 

獲.PNGwKioL1XQVSKB4ZdNAABS5qSw2Hk896.jpg

4,安裝Hadoop2.7.1 

http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz 

tar zxvf hadoop-2.7.1.tar.gz

 mv hadoop-2.7.1 /usr/local/hadoop

chown -R hadoop.hadoop hadoop

chmod 774 /usr/local/hadoop/

[email protected]:/usr/local/hadoop$ vim ~/.bashrc      //修改hadoop用户環境變量,最下面添加

#HADOOP VARIABLES START

export JAVA_HOME=/usr/local/src/jdk1.8/

export HADOOP_INSTALL=/usr/local/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

#HADOOP VARIABLES END

4.PNGwKioL1XQU-XR08aOAAIQ3QpO8TQ202.jpg

[email protected]:/usr/local/hadoop$ vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh  //修改handoop認證環境變量,最下面添加一行

6.PNGwKiom1XQUcywtSGXAAEiyVRX0Q8236.jpg

5,WordCount測試 

單機模式安裝完成,下面通過執行hadoop自帶實例WordCount驗證是否安裝成功

  /usr/local/hadoop路徑下創建input文件夾   

 mkdir input

 cp README.txt input   //拷貝README.txt到input   

 執行WordCount

hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.1-sources.jar org.apache.hadoop.examples.WordCount input output

wKioL1XQU6mT_gFRAALu7Zup6s8179.jpg

wKioL1XQU8DT78jEAAKObhR8SLA941.jpg

執行 cat output/*,查看字符統計結果

3.PNGwKiom1XQUX_B4356AAFv8scPPng544.jpg

到此,hadoop單機模式已經完成。