僞分佈式安裝Hadoop
文檔:http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html
1.上傳解壓
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/
2.瞭解目錄結構,刪除無用文件
3.修改配置:etc/hadoop/
(1)*-env.sh:3個模塊的環境變量文件
hadoop-env.sh 、yarn-env.sh(23行)、mapred-env.sh
JAVA_HOME=/opt/modules/jdk1.8.0_91
(2)按模塊配置,這個時候一般根據官方文檔來配置
a、common模塊:core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--修改後的文件-->
<configuration>
<!--指定文件系統HDFS的主機名稱和端口號-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-training01.huadian.com:8020</value>
</property>
<!--指定文件系統本地臨時存儲目錄,默認值是系統/tmp-->
<!--臨時目錄需要自己創建-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/moduls/hadoop-2.7.3/etc/hadoop/data/tempData</value>
</property>
</configuration>
b、HDFS模塊配置:hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--由於是僞分佈式,僅有一臺機器,副本數量沒有必要設置爲3-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
配置slaves:指定小弟DataNode運行在那臺機器上,如果有多個小弟,一行一個
c、測試HDFS模塊是否OK
-》格式化
當status爲0的時候,爲格式化成功。
-》啓動
主節點
從節點
啓動的這些服務相當於一個一個的Java進程,所以當執行啓動命令之後,需要查看一下是否啓動成功。
-》驗證是否成功:
方式一:查看進程jps
方式二:
bigdata-hpsk01.huadian.com:50070
-》測試HDFS:
(1)怎麼用
bin/hdfs dfs
(2)創建一個目錄
bin/hdfs dfs -mkdir -p /datas
(3)查看
bin/hdfs dfs -ls /
(4)上傳文件
bin/hdfs dfs -put /opt/datas/input.data /datas
(5)查看文件
bin/hdfs dfs -text /datas/input.data
(6)刪除文件
bin/hdfs dfs -rm -r -f /datas/input.data
新寫一個文件,上傳到hdfs
d、YARN
對於分佈式資源管理和任務調度框架來說,在YARN上可以運行多種應用程序
- MapReduce
- spark
- tez
(1) 配置:yarn-site.xml
<?xml version="1.0"?>
<configuration>
<!--resourcemanager服務運行的主機名名稱-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata-training01.huadian.com</value>
</property>
<!--告知YARN,MapReduce程序將在 其上運行-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
(2)slaves
指定nodemanager運行的主機名名稱,由於NameNode和 DataNode在同一臺機器上,前面已經配置,所以不用再去配置。
e、啓動YARN服務
-》啓動:
主節點ResourceManager:
sbin/yarn-daemon.sh start resourcemanager
從節點NodeManager:
sbin/yarn-daemon.sh start nodemanager
-》驗證啓動:
方式一:jps
方式二:bigdata-training01.huadian.com:8088
f、MapReduce模塊
並行計算的一個框架。
思想:分而治之
核心:map:分
並行處理數據,將數據分割,一部分一部分的處理
reduce:合
將Map處理數據的結果進行合併。
配置:
第一步:將模板重命名爲xml文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--指定MapReduce的程序運行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
g、測試MapReduce程序
案例:wordcount程序
Hadoop提供了一個程序,爲我們統計。
準備數據:在/datas/input.data
將MapReduce應用提交到YARN上運行。
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount
Usage: wordcount <in> [<in>...] <out>
<in>:表示MapReduce程序要處理的數據在哪裏
<out>:表示MapReduce程序處理數據之後的結果,存儲在哪裏,這個目錄不能存在。
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data /datas/output/output001
額外配置:歷史服務器
HistoryServer
mapred-site.xml 後面添加:
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-training01.huadian.com:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata-training01.huadian.com:19888</value>
</property>
啓動服務:sbin/mr-jobhistory-daemon.sh start historyserver
日誌聚集功能
YARN提供日誌中央化管理功能,他能將運行完成的任務 日誌 上傳到HDFS指定目錄下。
以便後期監控查看
配置:yarn-site.xml
<!--啓動日誌聚集功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--設置日誌保存的時間,1周-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
注意:重啓YARN和JobHistoryServer服務,
修改了配置文件,需要重新讀取
如果格式化、啓動某個進程失敗,怎麼辦????
看日誌文件。。。。就是IDEA控制檯的輸出
logs/XX.log
hadoop-huadian-datanode-bigdata-hpsk01.huadian.com.log
模塊 root 進程名字 主機名
後綴名:
日誌分類:標準輸出、錯誤輸出
.log:程序啓動相關信息 ==========
.out:程序運行的相關輸出
system.out.println(),system.error.println
使用tail -100f xxx.log
找Exception,case by