Hadoop僞分佈式安裝
- 版本選擇2.7.X,我選擇的是2.7.3
安裝過程
安裝前準備
(1)上傳解壓
(2)查看目錄結構(刪除以下文件)
bin/*.cmd
sbin/*.cmd
share/doc
(3)修改3個模塊的環境變量,修改JAVA_HOME的值爲jdk的安裝路徑
hadoop-env.sh(23行)
yarn-env.sh(26行)
mapred-env.sh(16行,需要先取消註釋再修改)
給三個文件增加執行權限
chmod u+x hadoop-env.sh yarn-env.sh mapred-env.sh
按照模塊來進行配置
Hadoop官網有部分配置信息,但是不全http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation(1)common(在Hadoop安裝目錄的/etc/hadoop下)
修改core-site.xml文件
可以將原有的註釋都刪掉,配置如下圖,將local更改爲自己的主機名,在Hadoop目錄下創建自己的臨時目錄
(2)HDFS
修改hdfs-site.xml文件
slaves
修改slaves文件
啓動HDFS:
第一次使用文件系統需要格式化
->格式化文件系統
先切換到Hadoop安裝的根目錄下
bin/hdfs namenode -format
->啓動主節點
sbin/hadoop-daemon.sh start namenode
->啓動從節點
sbin/hadoop-daemon.sh start datanode
檢查成功的兩種方式
a、Hadoop安裝目錄下輸入jps(或 ps -ef|grep java)
b、通過webUI界面查看(看到以下界面爲成功)
hostname:50070
(3)配置YARN
修改yarn-site.xml
->啓動主節點
sbin/yarn-daemon.sh start resourcemanager
->啓動從節點
sbin/yarn-daemon.sh start nodemanager
檢查成功的兩種方式
a、jps(ps -ef|grep java)
b、webUI界面查看
hostname.8088
(4)配置MapReduce
etc目錄下沒有mapred-site.xml文件,但是有mapred-site.xml.template文件,需要將mapred-site.xml.template文件賦值一份到當前文件夾,且文件名爲mapred-site.xml
先切換到Hadoop安裝目錄下的etc/hadoop下
然後:cp mapred-site.xml.template mapred-site.xml
修改mapred-site.xml文件
測試HDFS
幫助文檔bin/hdfs dfs
HDFS文件系統目錄和Linux目錄結構類似,
命令也類似
創建目錄:
bin/hdfs dfs -mkdir /datas
查看目錄:
bin/hdfs dfs -ls /datas
上傳文件:
bin/hdfs dfs -put /opt/datas/input.data /datas/
查看文件內容:
bin/hdfs dfs -text /datas/input.data
bin/hdfs dfs -cat /datas/input.data
下載文件:
bin/hdfs dfs -get /datas/input.data ./
刪除文件
bin/hdfs dfs -rm -r /datas/input.data
對於分佈式資源管理和任務調度來說哪些程序可以運行在YARN之上
MapReduce
並行數據處理框架
spark
基於內存分佈式處理框架
storm/flink
實時流式處理框架
TeZ
分析數據,比MapReduce速度快測試Hadoop
mapreduce程序運行在YARN上
通過經典程序案例,wordcount,
Hadoop提到測試案例在share/mapreduce目錄下
/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
-》準備數據,數據是放到hdfs上
在HDFS系統下創建一個datas目錄
bin/hdfs dfs -mkdir /datas
準備一個文件,文件內容可以隨意添加單詞或字符,完了保存,將該文件上傳到HDFS上
切換到Hadoop的安裝目錄下上傳文件
bin/hdfs dfs -put /opt/datas/input.data /datas/
在http://bigdata-hpsk02.huadian.com:50070下查看結果
-》提交運行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data /output1
hostname.8088能夠看到結果
點擊上圖的history後會找不到頁面,需要配置歷史服務器
進行運算的是mapred-site.xml,所以歷史服務器在mapred-site.xml中進行配置,增加以下的配置
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-hpsk02.huadian.com:10020</value>
</property>
啓動歷史服務器
sbin/mr-jobhistory-daemon.sh start historyserver
注意:在啓動historyServer服務之前運行的job相關信息已經沒了,只有後面運行的纔有。
成功後再執行一次詞頻統計測試,單擊history能夠進入以下頁面,端口號爲19888
單擊上圖中標出的1,會報錯,還應該配置日誌內聚功能,因爲m、MapReduce運行在YARN之上,所以日誌內聚應該在yarn-site.xml文件中進行配置
當MapReduce程序在YARN上運行完成之後,將產生日誌文件上傳到HDFS目錄中,以便後續查看。
<!--日誌集聚功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
·
<!--日誌存儲的時間1周 60minutes*60seconds*24hours*7days=604800-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>這樣,整個僞分佈式Hadoop環境就搭建好了