Hadoop學習記錄一

HDFS(Hadoop Distributed File System)是Hadoop項目的一部分,用于存儲海量數據。HDFS設計為可以在廉價硬件上運行,同時提供高容錯性。HDFS主要由三個關鍵角色組成:NameNode、DataNode和SecondaryNameNode。下面我用大白話來詳細解釋這些角色的功能和作用:

1. NameNode

NameNode 可以想象成圖書館里的圖書管理員,它不存儲書(數據),而是管理著圖書館的目錄和書籍的位置信息。在HDFS中,NameNode負責管理文件系統的元數據,這包括文件和目錄的層次結構、文件的權限信息、文件被分割成哪些塊以及每個塊存儲在哪些DataNode上。當有用戶想要讀取或寫入文件時,NameNode告訴用戶文件的塊在哪里,就像圖書管理員告訴你書在哪個書架一樣。

2. DataNode

DataNode 相當于圖書館的書架和書籍本身,它們負責存儲和維護HDFS中的實際數據。每個DataNode定期向NameNode報告自己的健康狀況和所擁有的數據塊信息。當有寫入請求時,DataNode會按照NameNode的指示存儲數據塊,并確保數據塊的副本數符合設定,以增加數據的可靠性。當有讀取請求時,DataNode提供數據塊供用戶讀取。

3. SecondaryNameNode

SecondaryNameNode 不是另一個NameNode,更像是NameNode的助手或者說是備份助手。它并不存儲元數據的實時備份,而是定期合并NameNode的fsimage(包含文件系統元數據)和edit log(包含最近的操作記錄),減少NameNode重啟時需要重放的日志量,從而加快NameNode的啟動時間。SecondaryNameNode幫助NameNode進行日志的清理和合并,但并不是集群運行的必要組成部分,它的缺失不會導致集群不可用。

這三個角色共同協作,使得HDFS能夠存儲和管理大規模數據集,即使在部分節點失效的情況下也能保持數據的可用性和一致性。在Hadoop集群中,通常有一個NameNode,多個DataNode,以及一個SecondaryNameNode(或有時多個,用于更高的可用性)。這種架構設計使得HDFS能夠在成本較低的硬件上構建出高可靠、可擴展的數據存儲系統。

在Hadoop生態系統中,RM(ResourceManager)、NM(NodeManager)和JN(JobHistoryServer)這幾個組件都屬于Apache Hadoop YARN(Yet Another Resource Negotiator)框架的一部分。不過,JN(JobHistoryServer)在Hadoop 2.x之后的版本中,更多地與MapReduce應用歷史記錄服務相關聯。

4. ResourceManager (RM)

ResourceManager 就像是一個“總管”,它負責整個Hadoop集群的資源分配工作。就像一個派對的組織者決定每個人應該坐在哪里一樣,ResourceManager決定你的計算任務應該在哪里的機器上運行。它還會監督所有任務的運行情況,確保一切都按計劃進行。


5.NodeManager (NM)

NodeManager 是每臺計算機(節點)上的“助手”。它的主要工作是聽ResourceManager的命令,準備和清理任務運行的環境,確保任務能夠順利開始和結束。就像是一個餐廳里的服務員,當有客人點餐時,服務員負責上菜和清理餐桌。


6.JobHistoryServer (JN)

JobHistoryServer 相當于一個“歷史記錄員”。它的工作是記錄所有的計算任務是怎么運行的,結果如何,以及運行過程中發生了什么問題。這樣,如果有人想查看過去的任務狀態,或者分析為什么某些任務失敗了,就可以通過JobHistoryServer找到答案。


總結一下,ResourceManager是指揮官,NodeManager是前線工人,而JobHistoryServer是記錄歷史的檔案管理員。它們一起協作,確保Hadoop集群能夠高效、穩定地運行各種計算任務。

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

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

相關文章

《絕區零》是一款什么類型的游戲,Mac電腦怎么玩《絕區零》蘋果電腦玩游戲怎么樣

米哈游的《絕區零》最近在網上爆火呀,不過很多人都想知道mac電腦能不能玩《絕區零》,今天麥麥就給大家介紹一下《絕區零》是一款什么樣的游戲,Mac電腦怎么玩《絕區零》。 一、《絕區零》是一款什么樣的游戲 《絕區零》是由上海米哈游自主研發…

Web前端-Web開發HTML基礎1-input

一. 基礎 1. 寫一個輸入框代碼,類型為密碼; 2. 寫一個輸入框代碼,類型為密碼; 3. 寫一個輸入框代碼,類型為密碼,名稱為"password"; 4. 寫一個輸入框代碼,類型為密碼&#…

ES快速開發,ElasticsearchRestTemplate基本使用以及ELK快速部署

最近博主有一些elasticsearch的工作,所以更新的慢了些,現在就教大家快速入門,并對一些基本的查詢、更新需求做一下示例,廢話不多說開始: 1. ES快速上手 es下載:[https://elasticsearch.cn/download/]()這…

Spring Boot集成Activity7實現簡單的審批流

由于客戶對于系統里的一些新增數據,例如照片墻、照片等,想實現上級逐級審批通過才可見的效果,于是引入了Acitivity7工作流技術來實現,本文是對實現過程的介紹講解,由于我是中途交接前同事的這塊需求,所以具…

uniapp開發釘釘小程序流程

下載開發工具 1、小程序開發工具 登錄釘釘開發平臺,根據自己的需求下載合適的版本,我這里下載的是Windows (64位)版本 小程序開發工具 - 釘釘開放平臺 2、HBuilder X HBuilderX-高效極客技巧 新建項目及相關配置 新建項目 …

Llama - Prompting

本文翻譯整理自:Prompting https://llama.meta.com/docs/how-to-guides/prompting/ 文章目錄 制作有效的提示明確說明風格化格式化限制 提示使用 Zero- and Few-Shot 學習Zero-Shot PromptingFew-Shot Prompting 基于角色的提示思維鏈技術Self-Consistency檢索-增強…

單臂路由組網實驗,單臂路由的定義、適用情況、作用

一、定義 單臂路由是指通過在路由器的一個接口上配置許多子接口,從而實現原來相互隔離的不同VLAN之間的互通。 子接口:把路由器上的實際的物理接口劃分為多個邏輯上的接口,這些被劃分的邏輯接口就是子接口。 二、適用情況 用在沒有三層交換機,卻要實現不同VLAN之間的互…

Github07-16 Python開源項目日報 Top10

根據Github Trendings的統計,今日(2024-07-16統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Python項目10C++項目1AutoGPT: 人工智能革命的先鋒 創建周期:486 天開發語言:Python協議類型:MIT LicenseStar數量:164105 個Fork數量:435…

axios 下載大文件時,展示下載進度的組件封裝——js技能提升

之前面試的時候,有遇到一個問題:就是下載大文件的時候,如何得知下載進度,當時的回復是沒有處理過。。。 現在想到了。axios中本身就有一個下載進度的方法,可以直接拿來使用。 下面記錄一下處理步驟: 參考…

深度學習 | CNN 基本原理

目錄 1?什么是 CNN2?輸入層3?卷積層3.1?卷積操作3.2?Padding 零填充3.3?處理彩色圖像 4?池化層4.1?池化操作4.2?池化的平移不變性 5?全連接層6?輸出層 前言 這篇博客不夠詳細,因為沒有介紹卷積操作的具體計算;但是它介紹了 CNN 各層次的功能…

golang AST語法樹解析

1. 源碼示例 package mainimport ("context" )// Foo 結構體 type Foo struct {i int }// Bar 接口 type Bar interface {Do(ctx context.Context) error }// main方法 func main() {a : 1 }2. Golang中的AST golang官方提供的幾個包,可以幫助我們進行A…

[雜談] 關于 Mac 電腦使用 Logitech 鼠標導致 Vscode 側鍵無法進行代碼前進、回退的問題

我個人使用的是一臺 14 寸的 Mac_Apple_M1,外接鍵盤顯示器羅技的 MX Master 3 for Mac 的鼠標。 之前一直使用的 GoLand 開發,查看代碼時進行代碼跳轉就很方便,滾輪鍵 進入函數方法,鼠標側鍵進行前進、后退。看代碼完全可以右手單…

【大模型入門】LLM-AI大模型介紹

大語言模型 (LLM) 背景 🍹大語言模型 (Large Language Model) 是一種人工智能模型, 它們通常包含數千億甚至更多的參數,并在大規模數據集上進行訓練。大語言模型可以處理多種自然語言任務,如文本分類、問答、翻譯、對話等等。 自然語言模型…

qt explicit 啥意思

explicit 在 Qt 和 C 中是一個關鍵字,主要用于修飾類的構造函數。其含義和用法可以歸納為以下幾點: 意義: explicit 英文直譯為“明確的”、“顯式的”。在 C 中,當一個構造函數只接受一個參數時,它可能會被編譯器用于…

【Nail it】ROS1 ROS2 通信(ros2/ros1_bridge)

情況說明:目標是實現ros2容器和ros1主機的通信,可以起一個ros1容器作為橋梁(若是在一個主機同時包含ros1&ros2,配置更加方便). 1.起一個 noetic 的容器 docker run -it --network host --name my_bridge ros:noe…

Java中的成員內部類

Java中的成員內部類(也稱為非靜態內部類)是定義在另一個類(外部類)內部的類。 這種內部類與它的外部類之間有著緊密的聯系,主要體現在幾個方面:它可以訪問外部類的所有成員(包括私有成員&#…

C++小白Python選手2小時入門C++

學習鏈接:C入門/2小時從C到C快速入門(2018,C教程) C在C語言的基礎上增加了面向對象和通用算法語言特征。 C頭文件不必是.h結尾,C頭文件舉例:cmath、cstdio注釋:單行//、多行/**/為了防止名字沖…

MQ基礎1

對應B站視頻: MQ入門-01.MQ課程介紹_嗶哩嗶哩_bilibili 微服務一旦拆分,必然涉及到服務之間的相互調用,目前我們服務之間調用采用的都是基于OpenFeign的調用。這種調用中,調用者發起請求后需要等待服務提供者執行業務返回結果后…

【JavaScript腳本宇宙】強大的自然語言處理:六款JavaScript庫詳解

從語義到實體:深入了解JavaScript自然語言處理庫 前言 隨著人工智能和自然語言處理技術的飛速發展,JavaScript在這一領域也有了越來越多的應用。本文將介紹幾個優秀的JavaScript庫,它們專注于處理英語文本,并提供了豐富的功能和…

求立方體面積體積以及判斷(c++)

代碼&#xff1a; #include<iostream> using namespace std;class Cube { public:void setL(int l){m_L l;}int getL(){return m_L;}void setW(int w){m_W w;}int getW(){return m_W;}void setH(int h){m_H h;}int getH(){return m_H;}int calculateS(){return 2 * (…