14 配置Hadoop集群-配置歷史和日志服務

第一課時

一、導入

前面的課程我們搭建了hadoop集群,并成功啟動了它,接下來我們看看如何去使用集群

測試的內容包括:1.上傳文件,2.下載文件,3.運行程序

二、授新

配置運行任務的歷史服務器

為了查看程序歷史運行情況,需要配置一下歷史服務器這個歷史服務器需要消耗的資源比較小,你可以選擇把它配置在集群中的任意一臺節點上。但是,請注意,在哪一臺上配置了,就應該在哪一臺上去啟動。

我們這把它配置在nn節點(hadoop100)上。具體配置步驟如下:

1.配置mapred-site.xml

在hadoop的安裝目錄下,打開mapred-site.xml,并在該文件里面增加如下兩條配置。

<!-- 歷史服務器端地址 -->
<property><name>mapreduce.jobhistory.address</name><value>hadoop100:10020</value>
</property><!-- 歷史服務器web端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop100:19888</value>
</property>

2.分發配置

把這個配置同步到其他的節點中。這里直接使用我們之前封裝好的命令xsync來同步。具體如下:

xsync $HADOOP_HOME/etc/hadoop/mapred-site.xml

3.啟動歷史服務器

請注意,你在配置的時候指定哪個節點是歷史服務器,就在哪里啟動,請不要搞錯了。

對應的命令是:?mapred --daemon start?historyserver

4.檢查歷史服務器是否啟動

通過jps命令來查看歷史服務器是否已經成功啟動了。

[root@hadoop100?hadoop]$ jps

5.查看JobHistory

方式1:直接去看所有的歷史記錄 href="http://hadoop100:19888/jobhistory" http://hadoop100:19888/jobhistory

方式2:重新啟動yarn服務從具體的history鏈接進行跳轉。

(二)配置運行任務的日志

與歷史命令相配套的還有對應的執行的日志。

它的入口在上面的位置。點擊之后,我們去查看:

發現看不了。接下來我們配置一下,讓它能夠訪問

這個操作叫日志聚集。由于任務是在具體的節點上運行的,所以運行日志也是產生在具體的節點上,但是我們希望應用完成以后,將程序運行日志信息上傳到HDFS系統上,這樣就可以方便的查看到程序運行詳情,方便開發調試。

注意:開啟日志聚集功能,需要重新啟動NodeManager 、ResourceManager和HistoryServer。

開啟日志聚集功能具體步驟如下:

(1)配置yarn-site.xml

打開yarn-site.xml文件,我們添加如下的配置。在該文件里面增加如下配置。

<!-- 開啟日志聚集功能 -->
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property>
<!-- 設置日志聚集服務器地址 -->
<property>  <name>yarn.log.server.url</name>  <value>http://hadoop101:19888/jobhistory/logs</value>
</property>
<!-- 設置日志保留時間為7天 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>

(2)分發配置

和之前的配置一樣,我們需要把這個更新之后的yarn-site.xml文件同步到其他的機器。這里還是使用腳本xsync。具體如下

xsync /opt/module/hadoop-3.1.3/etc/hadoop/yarn-site.xml

(3)重啟ResourceManager和HistoryServer

進入到我們安裝yarn的主機,通過命令來關閉掉yarn和historyServer,然后再重啟。

[root@hadoop103 hadoop-3.1.3]$ sbin/stop-yarn.sh

[root@hadoop103 hadoop-3.1.3]$?mapred --daemon?stop historyserver

啟動ResourceManage和HistoryServer

start-yarn.sh

mapred --daemon?start historyserver

(三)測試運行任務的日志

前面我們已經完成了任務日記的聚集,下面我們來看看是不是配置正確了。我們需要重新運行wordcount應用,然后再去看看是不是正確生成了日志。

  1. 重新執行WordCount程序

命令如下:

[root@hadoop100?hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

  1. 查看日志

如果一切正常,我們打開歷史服務器地址http://hadoop101:19888/jobhistory?可以看到歷史任務列表,如下:

點擊對應的JobID,就可以進一步查看任務運行日志

然后在點擊logs,就可以查看運行日志的詳情了。

第二課時

我們基本上完成了hadoop集群的所有配置了,涉及到的服務也非常多。下面我們看看在啟動和關閉集群和相關的服務的細節。

集群啟動/停止方式命令小

我們配置了多臺服務器,并且每臺服務器上運行的任務都不太相同,我們可以使用jps命令來查看每臺設備上的運行任務。

具體說明如下:

  1. DataNode,它是hdfs的模塊之一,每臺服務器都有。
  2. NameNode, hdfs的核心服務,只有一個。
  3. SecondaryNameNode,hdfs的核心服務,是NameNode的備份。
  4. RourceManager, Yarn的核心服務,只有一個。
  5. NodeManager,Yarn的核心模塊,每臺服務器都有。

我們可以通過這些關鍵進程的名稱來判斷當前集群是否正常運轉。

1.各個模塊分開啟動/停止

(1) 整體啟動/停止HDFS start-dfs.sh/stop-dfs.sh

(2) 整體啟動/停止YARNstart-yarn.sh/stop-yarn.sh

2.各個服務組件逐一啟動/停止

(1)分別啟動/停止HDFS組件

hdfs --daemon start/stop namenode/datanode/secondarynamenode

(2)啟動/停止YARN組件

yarn --daemon start/stop ?resourcemanager/nodemanager/historyserver

)編寫Hadoop集群啟停腳本

啟動的命令(HDFS,Yarn,Historyserver)比較多,在啟動的時候,還要分別進入不同的服務器寫不同的命令,比較麻煩。我們可以準備一個自定義的shell腳本,更加方便地完成整體啟動和停止。

具體操作有四步:

  1. 建立新文件,編寫腳本程序
  2. 分配執行權限
  3. 分發腳本
  4. 測試執行

下面分別介紹。

1.我們在hadoop100中操作,在/root/bin下新建文件:myhadoop,輸入如下內容:

#!/bin/bash
if [ $# -lt 1 ]
thenecho "No Args Input..."exit ;
fi
case $1 in
"start")echo " =================== 啟動 hadoop集群 ==================="echo " --------------- 啟動 hdfs ---------------"ssh hadoop100 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"echo " --------------- 啟動 yarn ---------------"ssh hadoop101 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"echo " --------------- 啟動 historyserver ---------------"ssh hadoop100 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")echo " =================== 關閉 hadoop集群 ==================="echo " --------------- 關閉 historyserver ---------------"ssh hadoop100 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"echo " --------------- 關閉 yarn ---------------"ssh hadoop101 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"echo " --------------- 關閉 hdfs ---------------"ssh hadoop100 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)echo "Input Args Error..."
;;
esac

2.保存后退出,然后賦予腳本執行權限

chmod +x myhadoop

3.分發/home/root/bin目錄,保證自定義腳本在三臺機器上都可以使用。使用的命令如下

[root@hadoop100?~]$ cd

4.測試執行

我們在hadoop100中,運行 myhadoop start 啟動集群

在hadoop102中,運行myhadoop stop 停止集群

(六)查看三臺服務器Java進程腳本:jpsall

同理,我們去/root/bin下創建一個新的腳本文件:jpsall,輸入如下內容

#!/bin/bash
for host in hadoop100 hadoop101 hadoop102
doecho =============== $host ===============ssh $host jps 
done

保存后退出,然后賦予腳本執行權限

[root@hadoop100?bin]$ chmod +x jpsall

3)分發/home/root/bin目錄,保證自定義腳本在三臺機器上都可以使用

[root@hadoop100?~]$ xsync /home/root/bin/

常用端口號說明

最后,補充總結一點關于我們用到的端口號的內容:

- 8020/9000/9820NameNode內部通信端口

- 9870:NameNode HTTP UI

- 8088: MapReduce查看執行任務端口

- 19888:歷史服務器通信端口

三、課堂小結

通過本堂課的學習,我們學習了配置歷史任務的功能和查看運行日志的功能,并且編寫了一個用來啟動和停止集群的腳本。至此,所有的配置相關的內容全部結束。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74080.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74080.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74080.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

0102-web架構網站搭建-基礎入門-網絡安全

文章目錄 1. 常規2 站庫分離3 前后端分離4 集成環境5 docker6 分配站結語 1. 常規 結構&#xff1a;源碼數據都在同服務器 影響&#xff1a;無&#xff0c;常規安全測試手法 2 站庫分離 結構&#xff1a;源碼和數據庫不在同服務器 存儲&#xff1a;其他服務器上數據庫或者…

【分布式系統】-2-GFS

MIT的【分布式系統課程】學習記錄 內容純屬個人學習過程中的筆記記錄&#xff0c;如果有侵權現象請留言&#xff0c;會立刻刪除 分布式存儲系統的難點&#xff1a; 設計大型存儲系統的出發點&#xff1a;利用數百臺計算機資源同時完成大量工作&#xff0c;達到性能加成 如何做…

黑盒測試的場景法(能對項目業務進行設計測試點)

定義: 通過運用場景來對系統的功能點或業務流程的描述&#xff0c;設計用例遍歷場景&#xff0c;驗證軟件系統功能的正確性從而提高測試效果的一種方法。 場景法一般包含基本流和備用流。 基本流:軟件功能的正確流程&#xff0c;通常一個業務只存在一個基本流且基本流有一個…

22 安裝第三方包

一、什么是第三方包 在 Python 的世界里&#xff0c;包就像是一個個功能強大的工具箱&#xff0c;它將多個 Python 模塊收納其中&#xff0c;而每個模塊又蘊含著豐富多樣的具體功能。可以說&#xff0c;一個包就是一系列同類功能的集合體&#xff0c;它們就像緊密協作的團隊&a…

MyBatisPlus不等于如何使用

在 MyBatis Plus 中&#xff0c;ne 方法用于構建不等于條件的 SQL 查詢。以下是 ne 方法的詳細用法&#xff1a; 基本用法 ne 方法可以用于 QueryWrapper 或 LambdaQueryWrapper 中&#xff0c;用于指定某個字段的值不等于指定的值。它對應于 SQL 中的 ! 或 <> 操作符。 …

[學術][人工智能] 001_什么是神經網絡?

神經網絡是一種模擬生物神經系統的計算模型&#xff0c;具有廣泛的應用和重要的研究價值。以下將從不同方面詳細介紹神經網絡。 一、神經網絡的發展歷程 20 世紀 60 年代&#xff0c;Hubel 和 Wiesel 在研究貓腦皮層中發現了用于局部敏感和方向選擇的神經元結構&#xff0c;卷積…

Unity3D仿星露谷物語開發32之地面屬性決定角色動作

1、目標 根據地面屬性&#xff08;diggable, canDropItem, canPlaceFurniture, isPath, isNPCObstacle&#xff09;決定角色進行何種操作。比如沒有canDropItem屬性的地面&#xff0c;則不能放置物體。 2、優化保存Item數據 PS&#xff1a;這個是對已有代碼的優化&#xff0…

031-valgrind

valgrind 以下是從原理到代碼實現、參數優化及結果分析的Valgrind技術調研報告&#xff0c;結合C示例和可視化工具使用說明&#xff1a; 一、Valgrind核心原理與架構 1.1 系統架構 #mermaid-svg-xIgV3fg90dGhEEq4 {font-family:"trebuchet ms",verdana,arial,sans-…

C/C++藍橋杯算法真題打卡(Day12)

一、P8752 [藍橋杯 2021 省 B2] 特殊年份 - 洛谷 算法代碼&#xff1a; #include<bits/stdc.h> using namespace std; int cnt;int main() {int i1;while(i<5){int num;cin>>num;string string_numto_string(num);if(string_num[0]string_num[2]&&str…

MySQL 復制與主從架構(Master-Slave)

MySQL 復制與主從架構&#xff08;Master-Slave&#xff09; MySQL 復制與主從架構是數據庫高可用和負載均衡的重要手段。通過復制數據到多個從服務器&#xff0c;既可以實現數據冗余備份&#xff0c;又能分擔查詢壓力&#xff0c;提升系統整體性能與容錯能力。本文將詳細介紹…

《大模型部署》——ollama下載及大模型本地部署(詳細快速部署)

ollama Ollama 是一款開源跨平臺的大語言模型&#xff08;LLM&#xff09;運行工具&#xff0c;旨在簡化本地部署和管理 AI 模型的流程。 下載ollama 進入官網下載https://ollama.com/ 選擇需要的系統下載 下載完成后直接進行安裝 下載大模型 選擇想要部署的模型&#…

Java關于包和final

什么是包&#xff1f; 包就是文件夾。用來管理等各種不同功能的java類&#xff0c;方便后期代碼維護 包名的規則&#xff1a;公司域名反寫包的作用&#xff0c;需要全部英文小寫&#xff0c;見名知意。例如&#xff1a;com.pdsu.domain package com.pdsu.demain;public class…

數據層的基本操作

1.數據層的更名: Arcmap內容列表中,數據框所包含的每個圖層及每個圖層所包含的一系列地理要素,都有相應的描述字符與之對應.默認情況下,添加進地圖的圖層是以其數據源的名字命名的,而地理要素的描述就是要素類型字段取值.由于這些命名影響到用戶對數據的理解和地圖輸出時的圖例…

Vue舞臺劇

Vue 的舞臺劇比喻 &#x1f3ad;&#xff08;完整表格版&#xff09; Vue 結構及路由管理 Vue 結構比喻&#xff08;舞臺劇&#xff09;&#x1f3ad;作用index.html空白場地 &#x1f3df;?Vue 負責填充內容&#xff0c;提供 #app 容器&#xff0c;等待演出開始。main.js導…

【Windows】win10系統安裝.NET Framework 3.5(包括.NET 2.0和3.0)失敗 錯誤代碼:0×80240438

一、.NET3.5(包括.NET 2.0和3.0)安裝方式 1.1 聯網安裝(需要聯網,能訪問微軟,簡單,很可能會失敗) 1.2 離線安裝-救急用(需要操作系統iso鏡像文件,復雜,成功幾率大) 二、聯網安裝 通過【控制面板】→【程序】→【程序和功能】→【啟用或關閉Windows功能】 下載過程…

Android學習總結之RecyclerView補充篇

在 Android 開發中&#xff0c;列表數據更新的性能一直是關鍵痛點。傳統的 notifyDataSetChanged() 會觸發全量刷新&#xff0c;導致不必要的界面重繪。而 DiffUtil 作為 Android 提供的高效差異計算工具&#xff0c;能精準識別數據變化&#xff0c;實現局部更新&#xff0c;成…

Miniforge3高效管理 Python環境:2025年最新實踐指南

Miniforge3 高效管理 Python 環境:2025 年最新實踐指南 在現代開發中,靈活高效地管理 Python 環境至關重要。Miniforge3 作為一款輕量級 Conda 管理工具,不僅默認采用更新更快的 conda-forge 軟件源,還對 ARM 架構(例如 Apple M1/M2/M3)有著出色的適配性。相比于傳統的 …

山東大學軟件學院項目創新實訓開發日志(4)之中醫知識問答數據存儲、功能結構、用戶界面初步設計

目錄 數據庫設計&#xff1a; 功能設計&#xff1a; 用戶界面: 數據庫設計&#xff1a; --對話表 (1個對話包含多條消息) CREATE TABLE conversations ( conv_id VARCHAR(36) PRIMARY KEY, -- 對話ID user_id VARCHAR(36) NOT NULL, -- 所屬用戶 title VARCHAR(100), -- 對話…

交換機、路由器、VLAN、單臂路由、三層交換、STP

華為模擬安裝 1.依次安裝wincap 2.wireshark 3.virtual box 4.ensp 一、設置 1.virtual box設置 2.計算機防火墻允許以上程序 3.eNSP設置 路由器&#xff1a;AR2240 交換機&#xff1a;S5700、CE12800 防火墻USG6000V 交換機 一、交換機工作原理 1、回顧 二層交換機…

【藍橋杯】每日練習 Day15

目錄 前言 奶牛選美 分析 代碼 大臣的旅費 分析 代碼 飛機降落 分析 代碼 母親的牛奶 分析 代碼 掃雷 分析 代碼 前言 雖為誕辰&#xff0c;但也不忘完成每日的訓練。 今天給大家帶來五道dfs的題目&#xff0c;包括組合數&#xff0c;連通塊&#xff0c;數的…