三、Hadoop1.X及其組件的深度剖析

作者:IvanCodes
日期:2025年5月7日
專欄:Hadoop教程

一、Hadoop 1.X 概述

(一)概念

HadoopApache 開發的分布式系統基礎架構,用 Java 編寫,為集群處理大型數據集提供編程模型,是海量數據存儲與計算開源框架狹義Hadoop軟件廣義代表大數據生態Hadoop 1.x兩大核心MapReduceHDFSHDFS 負責分布式存儲MapReduce 負責數據計算

(二)特點

在這里插入圖片描述
在這里插入圖片描述

  1. 可擴展性:能處理PB級數據,通過增減節點靈活伸縮
  2. 高容錯性數據副本機制,部分節點故障不影響系統可用性
  3. 成本效益開源,運行于普通硬件降低軟硬件成本
  4. 高效性MapReduce并行處理,計算向數據移動減少網絡開銷
  5. 靈活性:支持多種數據格式(結構化、半結構化、非結構化)。
  6. 可移植性:基于Java,可部署于多平臺(本地、云)。
  7. 社區支持龐大活躍開源社區,資源豐富
  8. 生態豐富:圍繞Hadoop眾多工具(Hive, Pig, HBase, Spark等)。

(三)工作原理

Hadoop 1.x 采用主從架構核心進程包括:NameNode (HDFS主)、DataNode (HDFS從)、JobTracker (資源管理與作業調度)、TaskTracker (執行任務)。用戶提交作業后,JobTracker 調度并將任務分配TaskTracker。數據存儲HDFSNameNode管理元數據DataNode存儲實際數據塊
請添加圖片描述

(四)發展歷史

在這里插入圖片描述

  1. 起源:源于Nutch搜索引擎項目擴展性需求。受GoogleGFSMapReduce論文啟發,Nutch開發者實現HDFSMapReduce,后剝離Hadoop
  2. 發展2006年Apache Hadoop項目啟動雅虎大力支持。 2008年Apache頂級項目Cloudera成立推動商業化后續生態日漸繁榮眾多公司開始應用

二、Hadoop 1.X 核心組件

(一)HDFS

1. 概念

HDFS (Hadoop分布式文件系統)是Hadoop數據存儲基礎。它高度容錯,運行于廉價硬件,通過流式數據訪問支持高吞吐量,適合大型數據集

2. 特點
  • 大文件存儲:適合TB、PB級大文件。
  • 分塊存儲:大文件切塊(默認64M),多副本(默認3個)存不同機器,提高讀寫效率容錯性
  • 流式訪問:“一次寫入,多次讀取”,不支持文件隨機修改僅支持追加
  • 廉價硬件:可在普通PC搭建集群。
  • 高容錯副本機制確保節點故障時數據不丟失
3. 工作原理

HDFS采用Master-Slave架構,含一個NameNode(主)和多個DataNode(從)。

  • NameNode:管理文件系統命名空間(元數據:文件名、目錄、塊位置等),控制客戶端訪問。元數據存內存并持久化到磁盤(fsimage, edits log)。
  • DataNode實際存儲文件數據塊校驗和。向NameNode注冊并周期性發送心跳塊報告
  • Secondary Namenode輔助NameNode定期合并fsimage和edits log,減輕NameNode壓力可能減少宕機時數據丟失
4. 發展歷史

HDFS設計思想 深受 Google分布式文件系統 GFS啟發。如前所述,Nutch 項目的核心開發者 Doug Cutting 等人借鑒 GFS理念實現了 HDFS,并將其作為 Hadoop 不可或缺的一部分。在 Hadoop整個發展過程中,HDFS經歷持續的改進和優化,以不斷提高性能、可靠性可擴展性

(二)MapReduce

1. 概念

MapReduce分布式計算框架第一代離線數據計算引擎,處理TB、PB級數據。核心思想是計算MapReduce兩階段。

2. 特點
  • 分而治之:Map階段并行局部處理,Reduce階段并行全局匯總
  • 移動計算計算程序移至數據節點減少網絡I/O
3. 工作原理
  • 輸入切片:文件邏輯切片(InputSplit),每Split一Map Task
  • Map階段:Map Task處理輸入數據,輸出中間鍵值對
  • Shuffle階段:Map中間結果 復制、排序、分組到Reduce Task。
  • Reduce階段:Reduce Task匯總相同key的中間值,輸出最終結果
4. 發展歷史

MapReduce思想根源Google2004年發表的著名論文《MapReduce: Simplified Data Processing on Large Clusters》。在 Hadoop 1.x 版本中,MapReduce 不僅承擔分布式數據計算核心角色,其內部的 JobTracker 組件還同時負責集群的資源管理和作業調度。這種設計使得 MapReduce 框架顯得比較臃腫,并且限制Hadoop 集群只能運行 MapReduce 類型的任務。從 Hadoop 2.x 版本開始,官方MapReduce功能進行了拆分,引入了獨立的資源管理框架 YARN。此后,MapReduce (通常稱為 MapReduce on YARN 或 MRv2) 僅專注于作為分布式數據計算引擎核心職責

三、Hadoop 1.X 組件關聯分析

(一)組件關聯圖說明

在這里插入圖片描述

(二)協同工作機制

HDFSMapReduceHadoop1.X緊密協作
HDFSMapReduce提供數據存儲NameNode提供元數據DataNode存儲數據塊MapReduce的Map Task從DataNode讀取數據。
MapReduce利用HDFS數據進行計算。Map Task局部處理,Reduce Task全局匯總JobTracker負責資源管理和作業調度,將任務分配TaskTracker考慮數據本地性

例如,日志分析:日志存HDFSMapReduce作業啟動,JobTracker將Map Task分配數據節點。Map Task局部分析。Shuffle后,Reduce Task匯總,結果寫回HDFS

四、Hadoop 1.X 與其他版本的對比

Hadoop 1.x vs Hadoop 2.x

  • YARN引入最核心區別。Hadoop 2.x引入YARN分離資源管理與計算,支持多種計算框架(Spark等),不再局限于MapReduce。
  • 存儲與容錯:Hadoop 2.x支持糾刪碼,比1.x的3副本方案更節省存儲
  • 單點故障:Hadoop 1.x的NameNodeJobTracker存在單點故障。Hadoop 2.x引入HA機制解決此問題,提高集群可靠性

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

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

相關文章

Java中字符轉數字的原理解析 - 為什么char x - ‘0‘能得到對應數字

前言 在Java編程中,我們經常需要將字符形式的數字轉換為實際的數值。有很多方法可以實現這一轉換,比如使用Integer.parseInt()或Character.getNumericValue()等方法。但有一種簡便且高效的方式是直接使用char - 0運算,本文將詳細解析這種方法…

第5講、Transformer 編碼器(Encoder)處理過程詳解

🔍 Transformer 編碼器(Encoder)處理過程詳解 Transformer Encoder 是一個由 N 層(一般為 6 層)堆疊而成的模塊結構。每一層的本質是兩個核心子模塊: 多頭自注意力(Multi-Head Self-Attention…

SWiRL:數據合成、多步推理與工具使用

SWiRL:數據合成、多步推理與工具使用 在大語言模型(LLMs)蓬勃發展的今天,其在復雜推理和工具使用任務上卻常遇瓶頸。本文提出的Step-Wise Reinforcement Learning(SWiRL)技術,為解決這些難題帶…

【Windows 常用工具系列 22 -- vscode markdown preview 字體大小設置】

文章目錄 解決辦法 解決辦法 打開設置(快捷鍵 Ctrl , 。或者左下角圖標齒輪 ?)搜索設置選項 Markdown ? Preview: Font Size控制 Markdown 預覽中使用的字號(以像素為單位)。 推薦閱讀 https://blog.csdn.net/yanglsbb/article/details/127306685

【風控】模型監控和異常處理

在風控模型的全生命周期中,模型監控與異常處理是保障模型持續、穩定、可靠運行的關鍵環節。本指南旨在提供系統化、可落地的監控指標、預警策略及異常處置流程,幫助團隊快速定位、響應并修復線上模型問題,最大限度降低風險。 1.模型監控與預…

第4章 遞推法

4.1 遞推法概述 設計思想: 遞推法(Recurrence Method)通過已知的初始條件和遞推關系,逐步推導出問題的最終結果,常用于序列計算和分階段問題求解。 示例:猴子和桃子問題 題目描述: 猴子每天吃…

可視化魔法指南

?? ECharts數據可視化魔法指南 ?? ECharts:數據的藝術畫筆 #mermaid-svg-ARwFHUrXBJ03Gpo9 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ARwFHUrXBJ03Gpo9 .error-icon{fill:#552222;}#mermaid-svg-ARwFHUr…

SpringBoot學生宿舍管理系統開發實現

概述 一款基于SpringBoot框架開發的學生宿舍管理系統完整項目,該系統包含管理員、學生、宿管員和維修員四大角色模塊,功能完善,非常適合作為設計或二次開發的基礎項目。 主要內容 5.1 管理員功能模塊 管理員登錄界面采用驗證碼驗證機制&a…

同步 / 異步、阻塞 / 非阻塞

前言 同步異步,在計算機科學中是一個非常重要的概念。作為一位軟件開發工程師,我們每天都在和同步和異步打交道。 同步 同步-阻塞,顧名思義,就是同步和阻塞。調用方法后,必須等到結果返回,才能繼續執行別…

AOP封裝進行批量的數據查詢并填充

在我們日常的項目開發中,我們經常會遇到這樣的問題。我們有一張用戶表,用戶表中有用戶ID和用戶名稱。我們其他表中會記錄我們當前操作人的ID,一般,我們會記錄一個創建人ID和修改人ID。那么,這個時候問題來了&#xff0…

Java學習手冊:數據庫事務相關知識

一、事務的概念與特性 概念 :事務是數據庫中一系列操作的集合,這些操作要么全部成功,要么全部失敗,是一個不可分割的工作單位。例如,在銀行轉賬系統中,從一個賬戶扣款和向另一個賬戶存款這兩個操作必須作為…

java復雜度,包裝類,泛型解析

如何衡量代碼的好壞? 評價代碼的好壞我們使用算法效率來判斷,而算法效率分兩種: 算法效率: 第一種是時間效率,第二種是空間效率,時間效率被稱為時間復雜度,?空間效率被稱作空間復雜度。 時間…

基于 SpringBoot + Vue 的校園管理系統設計與實現

一、項目簡介 本系統以校園組織管理為主線,結合用戶權限分離機制與模塊化設計,實現對“單位類別、單位、通知推送、投票信息、用戶回復”等內容的全流程管理,廣泛適用于教育局、高校及下屬組織的信息管理工作。 🎯 項目亮點&…

iOS藍牙技術實現及優化

以下是針對2025年iOS藍牙技術實現的核心技術要點的深度解析,結合當前iOS 18(推測版本)的最新特性與開發實踐,分模塊結構化呈現: 一、硬件與協議層適配 BLE 5.3 支持 iOS 18默認支持藍牙5.3協議,需注意&…

Qt 中實現觀察者模式(Observer Pattern)

在 Qt 中實現**觀察者模式(Observer Pattern)通常利用其內置的信號與槽(Signals & Slots)**機制,這是最符合 Qt 設計哲學的方式。以下是詳細實現方法和關鍵點: —### 1. 觀察者模式的核心思想- Subject(被觀察者):維護一個觀察者列表,在狀態變化時通知觀察者。- …

寫程序,統計兩會政府工作報告熱詞頻率,并生成詞云

import jieba from collections import Counter from wordcloud import WordCloud import matplotlib.pyplot as pltdef generate_wordcloud():try:# 讀取文本文件with open(E:\\桌面\\s.txt, r, encodingutf-8) as file:text file.read()# 中文分詞words jieba.lcut(text)# …

【Science Advances】普林斯頓大學利用非相干光打造可重構納米光子神經網絡

(導讀 ) 人工智能對計算性能需求劇增,電子微處理器發展受功耗限制。光學計算有望解決這些問題,光學神經網絡(ONNs)成為研究熱點,但現有 ONNs 因設計缺陷,在圖像分類任務中精度遠低于現代電子神經網絡&#…

gin + es 實踐 01

項目結構說明 目錄結構概覽 Go-ES 項目采用領域驅動設計(DDD)架構,目錄結構清晰,各層次職責分明。以下是項目的主要目錄結構: go-es/ ├── cmd/ # 應用程序入口 │ └── api/ …

如何構建直播美顏SDK?從美顏API調用邏輯到GPU優化實戰

隨著短視頻和直播行業的爆發,美顏SDK已成為各大直播平臺的“標配”。從基礎的磨皮、美白,到如今的AI濾鏡、虛擬形象,這些功能的背后都離不開高效的美顏SDK支持。那么,如何構建一款性能優越、體驗流暢的直播美顏SDK呢?本…

高組裝導軌的特點

高組裝導軌通常是四列式單圓弧齒形接觸直線導軌,具有整合化的結構設計,適用于重負荷和精密應用。與其它直線導軌高組裝導軌提升了負荷與剛性能力,具備四方向等負載特色和自動調心功能,能夠吸收安裝面的裝配誤差,達到高…