Hadoop(2)
單節點模式(本地模式)
Hadoop單節點
注意
Hadoop的部署運行需要Java環境
單節點模式介紹
Hadoop 以一個 Java 進程的形態運行在非分佈式模式下,這對於調試很有幫助,但是實際的開發和測試時,一般很少用本地模式
單節點部署
- 修改配置文件,配置java_home
vim <Hadoop安裝目錄>/etc/hadoop/hadoop-env.sh
找到export JAVA_HOME=${JAVA_HOME}
(大約在25行)
然後將自己的Java安裝路徑填上
export JAVA_HOME=/opt/jdk1.8.0_11
- 執行以下代碼測試(在Hadoop的安裝目錄下)
bin/hadoop
出現以下內容說明配置成功
單節點官方測試案例
語法
<Hadoop安裝目錄>/bin/hadoop jar <jar包路徑> <jar包的主類名> <輸入文件夾路徑> <輸出文件夾路徑> [參數]
注意
1. 輸出文件路徑一定要是一個不存在的路徑,jar包在執行輸出時,會自動創建這個目錄
2. [參數]
在不同的功能中不同,根據實際方法傳入不同的參數
舉例 1 調用Hadoop自帶的示例jar包,測試官方grep案例
- Hadoop的安裝目錄下創建一個
input
的文件夾
mkdir input
- 複製<Hadoop安裝目錄>/etc/hadoop/目錄下所有的
.xml
文件到input目錄
cp etc/hadoop/*.xml input
- 調用jar包
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar grep input output 'dfs[a-z.]+'
注意
dfs[a-z.]+
是一個準則表達式,這裏作爲控制檯輸入的參數傳入grep的方法,grep的作用是在指定文件裏找到符合準則表達式的單詞
4.執行結束之後,查看output的內容
cat output/*
如果出現1 dfsadmin
,說明測試成功
舉例 2 單詞統計案例
- 同案例1,新建一個
wcinput
的文件夾,在裏面新建一些文件,新編輸入一些內容 - 執行命令
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount wcinput/ wcoutput
注意
1. 這裏執行的jar包還是hadoop-mapreduce-examples-2.7.7.jar
,只不過主函數變爲wordcount
,輸出文件夾自定義一個不存在的目錄即可
2. 這個案例的方法(wordcount),沒有參數,所有不需要在控制檯輸入參數
3. 查看輸出文件夾的內容,這裏我規定的是wcoutput