Hadoop單機模式安裝
一、實驗介紹
1.1 實驗內容
- hadoop三種安裝模式介紹
- hadoop單機模式安裝
- 測試安裝
1.2 實驗知識點
- 下載解壓/環境變數配置
- Linux/shell
- 測試WordCount程式
1.3 實驗環境
- hadoop2.7.6
- Linux CentOS6終端
1.4 適合人群
本課程難度為一般,屬於初級級別課程,適合具有linux基礎的使用者。
1.5 相關檔案
- https://pan.baidu.com/s/1a_Pjl8uJ2d_-r1hbN05fWA
二、Hadoop啟動模式
Hadoop叢集有三種啟動模式:
- 單機模式:預設情況下執行為一個單獨機器上的獨立Java程式,主要用於除錯環境
- 偽分佈模式:在單個機器上模擬成分散式多節點環境,每一個Hadoop守護程式都作為一個獨立的Java程式執行
- 完全分散式模式:真實的生產環境,搭建在完全分散式的叢集環境
三、使用者及使用者組
需要先新增用來執行Hadoop程式的使用者組hadoop及使用者hadoop。
3.1 新增使用者及使用者組
建立使用者hadoop
# adduser hadoop
# passwd
並按照提示輸入hadoop使用者的密碼,例如密碼設定為 hadoop。注意輸入密碼的時候是不顯示的。
將hadoop使用者新增進sudo使用者組
# usermod -G sudo hadoop
四、安裝及配置依賴的軟體包
4.1 安裝jdk
# yum install java-1.8.0-openjdk* -y
# echo $JAVA_HOME
$ java -version
4.2 配置ssh免密碼登入
切換到 hadoop 使用者,hadoop 使用者時密碼為 hadoop。後續步驟都將在 hadoop 使用者的環境中執行。
$ su hadoop # 密碼為hadoop
配置ssh環境免密碼登入。 在/home/hadoop目錄下執行
$cd ~
$ ssh-keygen -t rsa #一路回車
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
驗證登入本機是否還需要密碼,第一次需要密碼以後不需要密碼就可以登入。
$ sudo vi /etc/ssh/sshd_config
ListenAddress 127.0.0.1 #新增ssh這行監聽本機
$ ssh localhost #僅需輸入一次hadoop密碼,以後不需要輸入
五、下載並安裝Hadoop
在hadoop使用者登入的環境中進行下列操作:
5.1 下載Hadoop 2.7.6
$ wget http://labfile.oss.aliyuncs.com/hadoop-2.7.6.tar.gz
5.2 解壓並安裝
$ tar -zxvf hadoop-2.7.6.tar.gz
$ rm -r /home/hadoop/hdfs #刪除原本目錄中的hdfs資料夾
$ mv hadoop-2.7.6 /home/hadoop/hdfs
$ chmod 777 /home/hadoop/hdfs
5.3 配置Hadoop
$ vim /home/hadoop/.bashrc
在/home/hadoop/.bashrc檔案末尾新增下列內容:
#HADOOP START
export HADOOP_HOME=/home/hadoop/hdfs
#export JAVA_HOME=/usr/lib/jvm/java-8-oracle
#HADOOP END
在/home/hadoop/.bashrc檔案中PATH路徑更改HADOOP相關內容:
export PATH=/usr/local/sbin:/usr/local/bin/:/usr/bin:/usr/sbin:/sbin:/bin:/home/hadoop/hdfs/bin:/home/hadoop/hdfs/sbin
環境中的hive以及hbase等環境本次實驗不會用到可以刪去,儲存退出後,啟用新加的環境變數。
$ source ~/.bashrc
至此,Hadoop單機模式安裝完成,可以通過下述步驟的測試來驗證安裝是否成功。
六、測試驗證
建立輸入的資料,暫時採用/etc/protocols檔案作為測試
$ cd /home/hadoop/hdfs
$ mkdir input
$ cp /etc/protocols ./input
執行Hadoop WordCount應用(詞頻統計)
$ hadoop jar /home/hadoop/hdfs/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.6-sources.jar wordcount input output
若以上語句執行錯誤可以嘗試應用以下語句執行
$ hadoop jar /home/hadoop/hdfs/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.6-sources.jar org.apache.hadoop.examples.WordCount input output
檢視生成的單詞統計資料
$ cat output/*
注意:如果要繼續下一節“偽分散式部署”實驗,請勿停止本實驗環境,直接點選文件上方的“下一個實驗”按鈕進入,因為偽分散式部署模式需要在單機模式基礎上進行配置。
七、小結
本實驗中介紹了Hadoop單機模式的安裝方法,並執行wordcount進行基本測試。
八、課後作業
請使用hadoop的wordcount對日誌檔案/var/log/dpkg.log進行詞頻統計。
九、參考文件
本實驗參考下列文件內容製作:
- http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html
- http://www.cnblogs.com/kinglau/p/3794433.html
實驗樓練習平臺:http://www.shiyanlou.com/register?inviter=NTY0MzE5NjA1NjM3