[Hadoop] 在Ubuntu系統上一步步搭建Hadoop(單機模式)


1 Hadoop的三種創建模式

  單機模式操作是Hadoop的默認操作模式,當首次解壓Hadoop的源碼包時,Hadoop無法了解硬件安裝環境,會保守地選擇最小配置,即單機模式。該模式主要用於開發調試MapReduce程序的應用邏輯,而不會和守護進程交互,避免增加額外的復雜性。

  偽分布模式操作是指在“單節點集群”上運行Hadoop,其中所有的守護進程都運行在同一台機器上。該模式在單機模式操作之上多了代碼調試功能,可以查閱內存的使用情況、HDFS的輸入輸出以及守護進程之間的交互。

  全分布模式操作是指一種實際意義上的Hadoop集群,其規模可從幾個節點的小集群到成百上千個節點的大集群,甚至是成千上萬的超大集群。

  本文只限於介紹單機模式,偽分布模式需要在自己的Ubuntu系統下額外建立虛擬的系統,而全分布模式需要搭建集群的硬件設施。

2 創建Hadoop用戶組和Hadoop用戶

  Step1:創建Hadoop用戶組:

    ~$ sudo addgroup hadoop

  Step2:創建Hadoop用戶:

    ~$ sudo adduser -ingroup hadoop hadoop

  回車后會提示輸入密碼,這是新建Hadoop的密碼,輸入兩次密碼敲回車即可。如下圖所示: 

 

  Step3:為Hadoop用戶添加權限:

  ~$ sudo gedit /etc/sudoers

  點擊回車后,打開sudoers文件,在

  root    ALL=(ALL:ALL) ALL

  后添加:

  hadoop   ALL=(ALL:ALL) ALL

  注意:“hadoop” 后為"\t",而不是一個空格,一旦sudoers修改錯誤會引起很嚴重的后果(比如導致sudo命令無法正常使用,這時候只能通過root權限進行復原)。修改后的sudoers文件如下圖所示:

  

3 用新增hadoop用戶名登陸Ubuntu系統

  ~$ su - hadoop

  輸入密碼即可。

4 安裝SSH

  Step4:安裝Hadoop通信需要的SSH:

    ~$ sudo apt-get install openssh-server

  安裝完以后,啟動服務:

    ~$ sudo /etc/init.d/ssh start

  啟動后,可以通過如下命令來確認服務是否正確啟動:

    ~$ ps -e | grep ss

  如下圖所示:

  作為一個安全通信協議,使用時需要密碼,因此我們要設置成免密碼登錄,生成私鑰和公鑰:

    ~$ ssh-keygen -t rsa -P ""

  如下圖所示:

  此時會在/home/hadoop/.ssh下生成兩個文件:id_rsa和id_rsa.pub,前者為私鑰,后者為公鑰。現在我們將公鑰追加到authorized_keys中(authorized_keys用於保存所有允許以當前用戶身份登錄到ssh客戶端用戶的公鑰內容):

    ~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  現在可以登入ssh確認以后登錄時不用輸入密碼:

    ~$ ssh localhost

  退出:

    ~$ exit

5 安裝Java

  Step5:安裝Java:

    ~$ sudo apt-get install openjdk-6-jdk 

 

  安裝完后,可以輸入如下指令查看Java的版本:  

    ~$ java -version

6 安裝和配置Hadoop

  Step6:安裝Hadoop:

  1)下載:

    目前最新版本為2.7.0,可以根據自己的需要,安裝不同版本的Hadoop,下載地址:請點擊這里

  2)解壓:

    ~$ sudo tar xzf hadoop-2.7.0.tar.gz

  3)將hadoop移動到 /usr/local/hadoop目錄下:

    ~$ sudo mv hadoop-1.0.2 /usr/local/hadoop

  4)要確保所有的操作都是在用戶hadoop下完成的:

    ~$ sudo chown -R hadoop:hadoop /usr/local/hadoop

  Step7:配置Hadoop:

  1)配置.bashrc:

       配置該文件,需要知道Java的安裝路徑,可以通過下面的代碼查看:

    ~$ update-alternatives - -config java

        執行結果如下:

    

  完整的路徑為:/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java,我們只取前面的部分 /usr/lib/jvm/java-7-openjdk-amd64。

     修改.bashrc文件:

       ~$ sudo gedit ~/.bashrc   

  該命令會打開該文件的編輯窗口,在文件末尾追加下面內容,然后保存,關閉編輯窗口。

#HADOOP VARIABLES START

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

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

  使添加的環境變量生效:

          ~$ source ~/.bashrc

  2)配置hadoop-env.sh

  打開hadoop-env.sh文件:

          ~$ sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh

  找到JAVA_HOME變量,按如下進行修改:

          ~$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64    

        修改后的hadoop-env.sh文件如下所示


  使配置生效:

    ~$ source /usr/local/hadoop/conf/hadoop-env.sh

  到這里,單機模式的hadoop就全部安裝完畢了。

7 Hadoop測試

  為了測試Hadoop安裝在正確性,我們可以用在帶的例子(比如WordCount)進行測試。

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

    ~$ mkdir input

  2)拷貝 README.txt 到 input 文件夾

    ~$ cp README.txt input

  3)執行WordCount程序實例

       ~$ bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.0-sources.jar org.apache.hadoop.examples.WordCount input output

  如果看到這些內容,那么恭喜你,這說明你的Hadoop已經安裝成功了。

8 結語

  從Ubuntu上安裝Hadoop的過程上可以看出,以前你覺得很困難,一直不敢嘗試的東西,其實可能它很簡單。只要你自己想學,就一步步地來,問題總能找到辦法來解決,在此與大家共勉。

9 參考內容

  [1] Ubuntu 14.04下安裝Hadoop2.4.0(單機模式)

  [2] Ubuntu上搭建Hadoop環境(單機模式+偽分布模式)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM