在前兩篇文章中,我們對Hadoop進行了簡單的概述。接下來,我們就來了解一下Hadoop集羣的安裝。而Hadoop的安裝模式有以下三種,我們一一來了解一下:
- 單節點上的本地模式(獨立模式) :Local(Standalone)Mode
- 單節點的僞分佈模式:Pseudo-Distributed Mode
- 多節點的安全分佈式集羣模式:Fully-Distributed Cluster
1 本地模式介紹
1.1 特點:
運行在單臺機器上,沒有分佈式思想,使用的是本地文件系統
1.2. 用途
用於對MapReduce程序的邏輯進行調試,確保程序的正確。由於在本地模式下測試和調試MapReduce程序較爲方便,因此,這種模式適宜用在開發階段。
2 平臺軟件說明
- 操作系統: win10/win7
- 虛擬軟件: VMware14
- 虛擬機: CentOS_7.7_64_master 192.168.10.200
- 軟件包存儲路徑: /opt/software/
- 軟件安裝路徑: /opt/apps/
- Jdk: jdk-8u221-linux-x64.tar.gz
- Hadoop: hadoop-2.7.6.tar.gz
- 用戶: root
3 環境搭建:Jdk的安裝步驟
步驟1)檢查一下是否已經安裝過或者系統內置JDK,如果有內置的,將其卸載
[root@master ~]# rpm -qa | grep jdk
#如果有,請卸載
[root@master ~]# rpm -e xxxxxxxx --nodeps #將查詢到的內置jdk代替xxxxxxx
步驟2)上傳jdk1.8
將jdk-8u221-linux-x64.tar.gz上傳到/opt/software/目錄中
步驟3)解壓jdk到/opt/apps/下
[root@master ~]# cd /opt/software
[root@master software]# tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/apps/
步驟4)更名jdk
[root@master ~]# cd /opt/apps
[root@master apps]# mv jdk1.8.0_221/ jdk
步驟5)配置Jdk的環境變量:/etc/profile
[root@master apps]# vi /etc/profile
.........省略...........
#jdk environment
export JAVA_HOME=/opt/apps/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
步驟6)使當前窗口生效
[root@master apps]# source /etc/profile
步驟7)驗證jdk環境
[root@master apps]# java -version
[root@master apps]# javac
4 hadoop目錄結構說明
1 Hadoop目錄結構如下:(可以提前在window系統上解壓,看一下)
--1. bin: hadoop的二進制執行命令文件存儲目錄
--2. sbin: hadoop的執行腳本存儲目錄
--3. etc: hadoop的配置文件存儲目錄
--4. lib/libexec: hadoop的資源庫存儲目錄
--5. share: hadoop的共享資源、開發工具和案例存儲目錄
--6. include: hadoop的工具腳本存儲目錄
5 環境搭建:Hadoop的安裝步驟
步驟1) 上傳並解壓hadoop
將hadoop軟件包上傳到/opt/software目錄下,然後解壓到/opt/apps/目錄下
[root@master ~]# cd /opt/software/
[root@master software]# tar -zxvf hadoop-2.7.6.tar.gz -C /opt/apps/
步驟2)更名hadoop
[root@master software]# cd /opt/apps
[root@master apps]# mv hadoop-2.7.6/ hadoop
步驟3)配置hadoop的環境變量
[root@master apps]# vi /etc/profile
.........省略..........
#hadoop environment
export HADOOP_HOME=/opt/apps/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
步驟4)使當前窗口生效
[root@master apps]# source /etc/profile
步驟5)驗證hadoop
[root@master apps]# hadoop version
3.6 程序案例演示:grep程序
步驟1) 進入hadoop的根目錄
[root@master apps]# cd $HADOOP_HOME
步驟2) 創建一個目錄input
[root@master hadoop]# mkdir input
步驟3) 將$HADOOP_HOME/etc/hadoop/目錄下的所有xml文件複製到input目錄下
[root@master hadoop]# cp ./etc/hadoop/*.xml ./input
步驟4) 使用hadoop自帶的grep程序查找input目錄下的文件是否有符合正則表達式'dfs[a-z.]'的字符串
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar grep input ./output 'dfs[a-z.]'
命令行內容解析:
--1. 使用hadoop命令運行jar文件
--2. 同時指定具體的jar文件的路徑
--3. 使用jar文件裏的grep主程序
--4. 統計當前目錄下的input目錄裏的內容,
--5. 將統計結果輸出到當前目錄下的output目錄
--6. 給grep指定一個正則表達式
注意:輸出目錄是一個不存在的目錄,程序會自動生成
步驟5) 進入output目錄查看part-r-00000文件
[root@master hadoop]# cd ./output
[root@master output]# cat part-r-00000
3.7 案例測試_wordcount.
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount input ./out1
發佈於 03-13