4.hadoop之偽分散式模式
偽分散式模式
1 偽分散式配置
1.1 配置叢集
配置檔案均在hadoop的安裝目錄的etc/hadoop下
1)配置:hadoop-env.sh
修改JAVA_HOME的路徑
export JAVA_HOME=/opt/module/jdk1.8
2)修改配置:etc/hadoop/core-site.xml
vim etc/hadoop/core-site.xml
新增如下資訊:
<configuration>
<property>
<name>fs.defaultFS</name>
<!--這裡需要自己進行修改-->
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
</configuration>
3)修改配置資訊(可改可不改):etc/hadoop/hdfs-site.xml
<!-- 指定HDFS副本的數量:預設副本數為3 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
1.2 啟動叢集
1)格式化NameNode(第一次啟動時格式化)
bin/hdfs namenode -format
2)啟動NameNode
sbin/hadoop-daemon.sh start namenode
#關閉
sbin/hadoop-daemon.sh stop namenode
3)啟動DataNode
sbin/hadoop-daemon.sh start datanode
#關閉
sbin/hadoop-daemon.sh stop datanode
1.3 檢視叢集
1)使用jps檢視:該命令時JDK的命令。
問題1:jsp不生效
原因:全域性變數hadoop java沒生效。
解決方式:source /etc/profile
檔案。
問題2:jsp發現程式沒有,但是重新啟動叢集,提示進行已經開啟。
原因:在linux的跟目錄下/tmp目錄中存在啟動的程式臨時檔案,將叢集相關程式刪除掉,再重新啟動叢集。
2)使用web端檢視
訪問:http://192.168.134.141:50070/dfshealth.html#tab-overview
問題1:如果連線不上,可能是防火牆沒有關。
#檢視防火牆狀態
systemctl status firewalld.service
#關閉防火牆
systemctl stop firewalld.service
#禁止開機啟動
systemctl disable firewalld.service
1.4 啟動HDFS
1)常見操作:
#在hdfs中建立目錄
bin/hdfs dfs -mkdir -p /user/it/input
#檢視目錄
bin/hdfs dfs -ls /
#檢視多級目錄
bin/hdfs dfs -lsr /
#或者
bin/hdfs dfs -ls -R /
#將本地中的檔案wcinput/word.txt上傳到hdfs上的/user/it/input下
bin/hdfs dfs -put wcinput/word.txt /user/it/input
2)此時使用workcount來計算hdfs上的檔案
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/it/input/word.txt /user/it/output
3)檢視結果
bin/hdfs dfs -cat /user/it/output/*
1.5 格式化細節
1)先關掉程式
jsp檢視namenode和datanode,關閉這兩個程式。
2)刪除data資料夾和logs資料夾
1.6 檢視日誌
catlog下的日誌即可。
1.7 格式化namenode注意點
1)檢視datanode和namenode版本號
我們可以發現兩者的clusterID一致,兩者會進行通訊,如果我們頻繁的格式化namenode,可能會導致兩者的clusterID不一致,可能會出現兩者只有一個可以啟動。
2 啟動YARN並執行MR程式
2.1 yarn的配置
1)配置yarn-env.sh:配置java_home
2)配置yarn-site.xml
<!-- Reducer獲取資料的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
3)配置mapred-env.sh:配置java_home
4)配置mapred-site.xml
將mapred-site.xml.template
改為mapred-site.xml
。可以選擇複製cp mapred-site.xml.template mapred-site.xml
<!-- 指定MR執行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2.2 啟動yarn
1)啟動NameNode和DataNode
2)啟動ResourceManager
sbin/yarn-daemon.sh start resourcemanager
3)啟動NodeManager
sbin/yarn-daemon.sh start nodemanager
3)檢視當前的程式
注:如果出現錯誤就檢視對應的日誌檔案,來解決。
4)web埠檢視:mapreduce:埠號:8088
連結:http://hadoop01:8088/cluster
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-P6WQJdvR-1609253579788)(C:\Users\龍\AppData\Roaming\Typora\typora-user-images\image-20201229214337693.png)]
2.3 MR測試
1)刪除掉之前MR產生的目錄output
#刪除掉之前的output
bin/hdfs dfs -rm -r /user/it/output
2)測試wordcount
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/it/input/word.txt /user/it/output
3 配置歷史伺服器
我們發現有一個history欄,但是單擊也不能訪問,需要配置歷史伺服器。配置完成後不必重新啟動叢集。
1)配置mapred-site.xml
<!-- 歷史伺服器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<!-- 歷史伺服器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
2)啟動歷史伺服器
sbin/mr-jobhistory-daemon.sh start historyserver
3)檢視是否啟動:jps
4)檢視JobHistory
連結:http://hadoop01:19888/jobhistory
5)此時檢視之前的任務的history也可以檢視
4 配置日誌聚集
日誌聚集概念:應用執行完成以後,將程式執行日誌上傳到HDFS系統上,可以方便的檢視程式的執行詳情,方便開發除錯。
如下圖的log
注意:開啟日誌聚集的功能,需要重新啟動:nodeManager,ResourceManager和HistoryManager。
1)關閉nodeManager,ResourceManager和HistoryManager。
2)配置yarn-site.xml
<!-- 日誌聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日誌保留時間設定7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
3)啟動NodeManager 、ResourceManager和HistoryManager
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver
jps檢視
4)刪除HDFS上已經存在的輸出檔案
bin/hdfs dfs -rm -r /user/it/output
5)執行WordCount程式
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/it/input/word.txt /user/it/output
6)檢視程式的日誌資訊
連結:http://hadoop01:8088/cluster
進入到history->logs
可以檢視到程式執行的過程中的執行資訊。
5 配置檔案的說明
Hadoop配置檔案分兩類:預設配置檔案和自定義配置檔案,只有使用者想修改某一預設配置值時,才需要修改自定義配置檔案,更改相應屬性值。
1)預設的配置檔案
要獲取的預設檔案 | 檔案存放在Hadoop的jar包中的位置 |
---|---|
[core-default.xml] | hadoop-common-2.7.2.jar/ core-default.xml |
[hdfs-default.xml] | hadoop-hdfs-2.7.2.jar/ hdfs-default.xml |
[yarn-default.xml] | hadoop-yarn-common-2.7.2.jar/ yarn-default.xml |
[mapred-default.xml] | hadoop-mapreduce-client-core-2.7.2.jar/ mapred-default.xml |
2)自定義配置檔案
------------------- |
| [core-default.xml] | hadoop-common-2.7.2.jar/ core-default.xml |
| [hdfs-default.xml] | hadoop-hdfs-2.7.2.jar/ hdfs-default.xml |
| [yarn-default.xml] | hadoop-yarn-common-2.7.2.jar/ yarn-default.xml |
| [mapred-default.xml] | hadoop-mapreduce-client-core-2.7.2.jar/ mapred-default.xml |
2)自定義配置檔案
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四個配置檔案存放在$HADOOP_HOME/etc/hadoop這個路徑上,使用者可以根據專案需求重新進行修改配置。
相關文章
- hadoop 偽分散式模式學習筆記Hadoop分散式模式筆記
- 大資料之Hadoop偽分散式的搭建大資料Hadoop分散式
- hadoop+spark偽分散式HadoopSpark分散式
- Hadoop入門(一)之Hadoop偽分散式環境搭建Hadoop分散式
- 雲端計算課程實驗之安裝Hadoop及配置偽分散式模式的HadoopHadoop分散式模式
- Hbase偽分散式環境搭建分散式
- CentOS7 hadoop3.3.1安裝(單機分散式、偽分散式、分散式)CentOSHadoop分散式
- Redis 偽分散式安裝部署配置Redis分散式
- Mac部署hadoop3(偽分散式)MacHadoop分散式
- TX-LCN分散式事務之LCN模式分散式模式
- hadoop 0.20.2偽分散式安裝詳解Hadoop分散式
- Kafka Eagle分散式模式Kafka分散式模式
- hadoop叢集搭建——單節點(偽分散式)Hadoop分散式
- 偽分散式hdfs的配置(個人總結)分散式
- 分散式之抉擇分散式鎖分散式
- 大規模MySQL運維陷阱之基於MyCat的偽分散式架構MySql運維分散式架構
- hadoop3.1.0 HDFS快速搭建偽分散式環境Hadoop分散式
- 分散式事務Saga模式分散式模式
- 大資料2-Hadoop偽分散式+ZK+HDFS大資料Hadoop分散式
- 分散式爬蟲的部署之Gerapy分散式管理分散式爬蟲
- 分散式爬蟲的部署之Scrapyd分散式部署分散式爬蟲
- 分散式PostgreSQL之Citus分散式SQL
- 分散式之配置中心分散式
- hadoop偽分散式叢集的安裝(不是單機版)Hadoop分散式
- 分散式配置中心之思考分散式
- seata分散式事務AT模式介紹(二)分散式模式
- 分散式事務 | 使用DTM 的Saga 模式分散式模式
- 分散式鎖之Zookeeper實現分散式
- 分散式鎖之Redis實現分散式Redis
- 分散式之快取擊穿分散式快取
- 分散式事務(四)之TCC分散式
- 分散式之介面冪等性分散式
- 完全分散式模式hadoop叢集安裝與配置分散式模式Hadoop
- 19種分散式系統設計模式 - Nishant分散式設計模式
- 分散式事務鎖模式之一:租用Lease分散式模式
- CentOS6.5實現Hadoop_2.8.1編譯及HDFS偽分散式部署CentOSHadoop編譯分散式
- 【每天五分鐘大資料-第一期】 偽分散式+Hadoopstreaming大資料分散式Hadoop
- 在 Ubuntu 22 的基礎上進行 Hadoop 偽分散式(HDFS)的搭建UbuntuHadoop分散式