Hadoop 生態系統和組件:綜合教程 2022

已發表: 2021-01-04

Hadoop 是用於大數據處理的開源框架。 它是巨大的並且有許多組件。 這些組件中的每一個都執行一組特定的大數據作業。 Hadoop 的大量解決方案使其成為行業主打產品。 如果你想成為一名大數據專家,你必須熟悉它的所有組件。

不過不用擔心,因為在本文中,我們將了解所有這些組件:

目錄

什麼是 Hadoop 核心組件?

Hadoop 核心組件控制其性能,您必須在使用其生態系統的其他部分之前了解它們。 Hadoop 的生態系統非常龐大,並且充滿了許多工具。 其核心組件的另一個名稱是模塊。 主要有以下幾種

Hadoop核心組件:

1.HDFS

HDFS 的完整形式是 Hadoop 分佈式文件系統。 它是 Hadoop 最關鍵的組件,因為它與數據存儲有關。 HDFS 允許您將數據存儲在分佈式存儲設備的網絡中。 它有一套工具,可以讓您讀取這些存儲的數據並進行相應的分析。 HDFS 使您能夠執行數據採集,而無需考慮計算機的操作系統。 閱讀有關 HDFS 及其架構的更多信息。

由於您無需擔心操作系統,因此您可以提高工作效率,因為您不必每次遇到新操作系統時都修改系統。 HDFS 由以下組件組成:

  • 名稱節點
  • 數據節點
  • 次要名稱節點

名稱節點在 HDFS 中也稱為“主節點”。 它存儲從節點的元數據以跟踪數據存儲。 它告訴你什麼存儲在哪裡。 主節點還監控從節點的健康狀況。 它也可以將任務分配給數據節點。 數據節點存儲數據。 數據節點在 HDFS 中也稱為“從”。

從節點響應主節點的健康狀態請求,並告知主節點自己的情況。 如果從節點沒有響應主節點的健康狀態請求,主節點將報告其死亡並將其任務分配給另一個數據節點。

除了名稱節點和從節點之外,還有第三個,輔助名稱節點。 它是主節點的緩衝區。 當主節點不活動時,它將數據更新到 FinalFS 映像。

2. MapReduce

MapReduce 是 Hadoop 的第二個核心組件,它可以執行 Map 和 Reduce 兩個任務。 Mapreduce 是頂級 Hadoop 工具之一,可以讓您的大數據之旅變得輕鬆。 映射是指讀取數據庫中存在的數據並將其轉換為更易於訪問和更實用的格式。 映射使系統能夠通過改變其形式來使用數據進行分析。 然後是歸約,這是一個數學函數。 它將映射數據簡化為一組定義的數據,以便更好地進行分析。

它解析鍵和值對並將它們簡化為元組以實現功能。 MapReduce 有助於 Hadoop 中的許多任務,例如數據排序和數據過濾。 它的兩個組件協同工作並協助準備數據。 MapReduce 還處理作業的監視和調度。

它充當 Hadoop 生態系統的計算機節點。 MapReduce 主要負責將大數據任務分解為一組小任務。 您可以高效地運行 MapReduce 作業,因為您可以使用各種編程語言。 它允許您使用 Python、C++ 甚至 Java 來編寫其應用程序。 它快速且可擴展,這就是為什麼它是 Hadoop 生態系統的重要組成部分。

3.紗線

YARN 代表又一個資源談判者。 它處理 Hadoop 中的資源管理。 資源管理也是一項至關重要的任務。 這就是為什麼 YARN 是必不可少的 Hadoop 組件之一。 它監視和管理 Hadoop 中的工作負載。 YARN 具有高度可擴展性和敏捷性。 它為您提供集群利用的高級解決方案,這是另一個顯著優勢。 了解有關 Hadoop YARN 架構的更多信息。

YARN由多個組件組成; 其中最重要的一項是資源管理器。 資源管理器提供靈活和通用的框架來處理 Hadoop 集群中的資源。 資源管理器的另一個名稱是 Master。 節點管理器是 YARN 中的另一個重要組件。

它監控 YARN 中應用管理器和容器的狀態。 所有數據處理都在容器中進行,如果容器需要更多資源來執行其數據處理任務,則應用管理器管理此過程,應用管理器向資源管理器請求相同的資源。

4. Hadoop 通用

Apache 在 Hadoop 生態系統中添加了許多庫和實用程序,您可以將其與各種模塊一起使用。 Hadoop Common 使計算機能夠加入 Hadoop 網絡,而不會遇到任何操作系統兼容性或硬件問題。 該組件使用 Java 工具讓平台將其數據存儲在所需的系統中。

它之所以命名為 Hadoop Common,是因為它為系統提供了標準功能。

Hadoop組件根據角色

現在我們已經了解了 Hadoop 的核心組件,讓我們開始討論它的其他部分。 正如我們之前提到的,Hadoop 擁有大量工具,因此我們根據它們在 Hadoop 生態系統中的角色進行了劃分。 讓我們開始吧:

數據存儲

動物園管理員

Zookeeper 幫助您管理 Hadoop 集群的命名約定、配置、同步和其他信息。 它是生態系統的開源集中服務器。

目錄

HCatalog 以二進制格式存儲數據並處理 Hadoop 中的表管理。 它使用戶能夠使用存儲在 HIVE 中的數據,以便他們可以使用數據處理工具來完成他們的任務。 它允許您基於 Kerberos 執行身份驗證,並有助於翻譯和解釋數據。

高密度文件系統

我們已經討論過 HDFS。 HDFS 代表 Hadoop 分佈式文件系統,用於處理 Hadoop 中的數據存儲。 它支持水平和垂直可擴展性。 它具有容錯性,並且具有復制因子,可以保留數據副本,以防您由於某些錯誤而丟失任何數據。

執行引擎

火花

您將在 Hadoop 中使用 Spark 進行微批處理。 它可以執行 ETL 和實時數據流。 它非常敏捷,因為它可以支持 80 個高級操作員。 它是一個集群計算框架。 了解有關 Apache Spark 應用程序的更多信息。

MapReduce

這個獨立於語言的模塊讓您可以將復雜數據轉換為可用數據進行分析。 它執行映射和減少數據,因此您可以對其執行各種操作,包括對其進行排序和過濾。 它還允許您執行數據本地處理。

泰茲

Tez 使您能夠同時執行多個 MapReduce 任務。 它是一個數據處理框架,可幫助您執行數據處理和批處理。 它可以計劃重新配置,並可以幫助您做出有關數據流的有效決策。 它非常適合資源管理。

數據庫管理

黑斑羚

您將在 Hadoop 集群中使用 Impala。 它可以加入 Hive 的元存儲並與之共享所需的信息。 SQL接口簡單易學,大數據查詢不費吹灰之力。

蜂巢

這個 Hadoop 組件的開發者是 Facebook。 它使用 HiveQL,它與 SQL 非常相似,可讓您執行數據分析、匯總、查詢。 通過索引,Hive 使數據查詢的任務更快。

HBase

HBase 使用 HDFS 來存儲數據。 這是一個以列為中心的數據庫。 它允許 NoSQL 數據庫創建可能包含數十萬(甚至數百萬)列和行的巨大表。 如果您需要對數據集進行讀取或寫入訪問,則應使用 HBase。 Facebook 使用 HBase 運行其消息平台。

阿帕奇鑽

Apache Drill 允許您組合多個數據集。 它可以支持各種 NoSQL 數據庫,這就是它非常有用的原因。 它具有很高的可擴展性,可以輕鬆幫助眾多用戶。 它使您可以輕鬆執行所有類似 SQL 的分析任務。 它還具有身份驗證解決方案,用於維護系統內的端到端安全性。

抽象

Apache Sqoop

您可以使用 Apache Sqoop 將數據從外部源導入 Hadoop 的數據存儲,例如 HDFS 或 HBase。 您也可以使用它將數據從 Hadoop 的數據存儲導出到外部數據存儲。 Sqoop 並行傳輸數據的能力減少了資源的過度負載,讓您可以高效地導入或導出數據。 您也可以使用 Sqoop 來複製數據。

阿帕奇豬

由 Yahoo 開發的 Apache pig 可幫助您分析大型數據集。 它使用其語言 Pig Latin 來順利高效地執行所需的任務。 如果您需要處理龐大的數據集,您可以並行化 Pig 程序的結構,這使得 Pig 成為數據分析的出色解決方案。 利用我們的 apache pig 教程了解更多信息。

數據流

水槽

Flume 可讓您收集大量數據。 它是一種數據收集解決方案,將收集到的數據發送到 HDFS。 它包含三個部分,分別是通道、源和接收器。 Flume 有運行數據流的代理。 此流中存在的數據稱為事件。 Twitter 使用 Flume 流式傳輸其推文。

卡夫卡

Apache Kafka 是一種持久、快速且可擴展的分佈式公共消息傳遞解決方案。 LinkedIn 是這個強大工具的開發者。 它在主題內維護大量消息。 許多企業使用 Kafka 進行數據流傳輸。 MailChimp、Airbnb、Spotify 和 FourSquare 是這個強大工具的一些傑出用戶。

了解更多 – Hadoop 組件

在本指南中,我們嘗試簡要介紹每個 Hadoop 組件,以使您徹底熟悉它。 如果您想了解有關 Hadoop 組件及其架構的更多信息,那麼我們建議您訪問我們的博客,該博客充滿了有用的數據科學文章。

如果您有興趣了解有關大數據的更多信息,請查看我們的 PG 大數據軟件開發專業文憑課程,該課程專為在職專業人士設計,提供 7 多個案例研究和項目,涵蓋 14 種編程語言和工具,實用的動手操作研討會,超過 400 小時的嚴格學習和頂級公司的就業幫助。

從世界頂級大學在線學習軟件開發課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

掌握未來的技術 - 大數據

7 案例研究和項目。 頂級公司的工作協助。 敬業的學生導師。
IIIT Bangalore 大數據高級證書課程