hadoop零基礎入門,hadoop菜鳥教程

一、Hadoop概述

1.1Hadoop是什麼

  • Hadoop是一個由Apache基金會所開發的分佈式系統基礎架構。
  • 主要解決,海量數據的存儲和海量數據的分析計算問題。
  • 廣義上來說,Hadoop通常是指一個更廣泛的概念——Hadoop生態圈。
  • Google是Hadoop的思想之源(Google在大數據方面的三篇論文,GFS —>HDFS, Map-Reduce —>MR, BigTable —>HBase)
  • Hadoop 三大發行版本:Apache、Cloudera、Hortonworks。

1.2 Hadoop的優勢

  • 高可靠性:Hadoop底層維護多個數據副本,所以即使Hadoop某個計算元 素或存儲出現故障,也不會導致數據的丟失。
  • 高擴展性:在集群間分配任務數據,可方便的擴展數以千計的節點。
  • 高效性:在MapReduce的思想下,Hadoop是並行工作的,以加快任務處 理速度。
  • 高容錯性:能夠自動將失敗的任務重新分配。

1.3 Hadoop組成(面試重點)

  • 在 Hadoop1.x 時 代:Hadoop 由HDFS、MapReduce組成,MapReduce同 時處理業務邏輯運算和資 源的調度,耦合性較大
  • 在Hadoop2.x時 代,增 加 了Yarn,Yarn只負責 資 源 的 調 度 , MapReduce 只負責運算

Hadoop3.x在組成上沒 有變化。

1.3.1 HDFS 架構概述

Hadoop Distributed File System,簡稱 HDFS,是一個分佈式文件系統。

  • NameNode(nn):存儲文件的元數據,如文件名,文件目錄結構,文件屬性(生成時間、副本數、 文件權限),以及每個文件的塊列表和塊所在的DataNode等。
  • DataNode(dn):在本地文件系統存儲文件塊數據,以及塊數據的校驗和。
  • Secondary NameNode(2nn):每隔一段時間對NameNode元數據備份。

1.3.2 YARN 架構概述

Yet Another Resource Negotiator 簡稱 YARN ,另一種資源協調者,是 Hadoop 的資源管理器。

YARN架構概述

  • ResourceManager(RM):整個集群資源(內存、CPU等)的老大
  • NodeManager(N M):單個節點服務器資源老大
  • ApplicationMaster(AM):單個任務運行的老大
  • Container:容器,相當一台獨立的服務器,裏面封裝了 任務運行所需要的資源,如內存、CPU、磁盤、網絡等。

說明:客戶端可以有多個,集群上可以運行多個ApplicationMaster,每個NodeManager上可以有多個Container

1.3.3 MapReduce 架構概述

MapReduce 將計算過程分為兩個階段:Map 和 Reduce ,Map 階段並行處理輸入數據,Reduce 階段對 Map 結果進行匯總

MapReduce架構概述

待分析數據10T => map階段 => (集群) => reduce階段 ==> 匯總處理數據

HDFS、YARN、MapReduce 三者關係

hadoop基礎入門

1.4 大數據技術生態體系

hadoop基礎入門
  • Sqoop:Sqoop 是一款開源的工具,主要用於在 Hadoop、Hive 與傳統的數據庫(MySQL) 間進行數據的傳遞,可以將一個關係型數據庫(例如 :MySQL,Oracle 等)中的數據導進 到 Hadoop 的 HDFS 中,也可以將 HDFS 的數據導進到關係型數據庫中。
  • Flume:Flume 是一個高可用的,高可靠的,分佈式的海量日誌採集、聚合和傳輸的系統, Flume 支持在日誌系統中定製各類數據發送方,用於收集數據;
  • Kafka:Kafka 是一種高吞吐量的分佈式發佈訂閱消息系統;
  • Spark:Spark 是當前最流行的開源大數據內存計算框架。可以基於 Hadoop 上存儲的大數 據進行計算。
  • Flink:Flink 是當前最流行的開源大數據內存計算框架。用於實時計算的場景較多。
  • Oozie:Oozie 是一個管理 Hadoop 作業(job)的工作流程調度管理系統。
  • Hbase:HBase 是一個分佈式的、面向列的開源數據庫。HBase 不同於一般的關係數據庫, 它是一個適合於非結構化數據存儲的數據庫。
  • Hive:Hive 是基於 Hadoop 的一個數據倉庫工具,可以將結構化的數據文件映射為一張 數據庫表,並提供簡單的 SQL 查詢功能,可以將 SQL 語句轉換為 MapReduce 任務進行運 行。其優點是學習成本低,可以通過類 SQL 語句快速實現簡單的 MapReduce 統計,不必開 發專門的 MapReduce 應用,十分適合數據倉庫的統計分析。
  • ZooKeeper:它是一個針對大型分佈式系統的可靠協調系統,提供的功能包括:配置維護、 名字服務、分佈式同步、組服務等

1.5 推薦系統框架圖

hadoop基礎入門

二、Hadoop安裝

2.1 準備

克隆三台虛擬機:hadoop102 hadoop103 hadoop104,

  • 修改克隆虛擬機的靜態 IP:vim /etc/sysconfig/network-scripts/ifcfgens33
  • 修改主機名稱 vim /etc/hostname
  • 配置 Linux 克隆機主機名稱映射 hosts 文件:vim /etc/hosts
  • reboot
  • 安裝 JDK 前,一定確保提前刪除了虛擬機自帶的 JDK
  • 解壓、配置 JDK 環境變量,測試:java -version
  • Hadoop 下載地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
  • 解壓、將 Hadoop 添加到環境變量

2.2 Hadoop 重要目錄

  • bin 目錄:存放對 Hadoop 相關服務(hdfs,yarn,mapred)進行操作的腳本
  • etc 目錄:Hadoop 的配置文件目錄,存放 Hadoop 的配置文件
  • lib 目錄:存放 Hadoop 的本地庫(對數據進行壓縮解壓縮功能)
  • sbin 目錄:存放啟動或停止 Hadoop 相關服務的腳本
  • share 目錄:存放 Hadoop 的依賴 jar 包、文檔、和官方案例

2.3 Hadoop運行模式

Hadoop 運行模式包括:本地模式、偽分佈式模式以及完全分佈式模式

  • 本地模式:單機運行,只是用來演示一下官方案例。生產環境不用。
  • 偽分佈式模式:也是單機運行,但是具備 Hadoop 集群的所有功能,一台服務器模 擬一個分佈式的環境。個別缺錢的公司用來測試,生產環境不用。
  • 完全分佈式模式:多台服務器組成分佈式環境。生產環境使用。

完全分佈式運行模式(開發重點) 分析:1)準備 3 台客戶機(關閉防火牆、靜態 IP、主機名稱) 2)安裝 JDK 3)配置環境變量 4)安裝 Hadoop 5)配置環境變量 6)配置集群 7)單點啟動 8)配置 ssh 9)群起並測試集群

編寫集群分髮腳本 xsync

scp安全拷貝語法:

scp -r $pdir/$fname $user@$host:$pdir/$fname

命令 遞歸 要拷貝的文件路徑/名稱 目的地用戶@主機:目的地路徑/名稱

rsync 遠程同步工具語法:

rsync -av $pdir/$fname $user@$host:$pdir/$fname

命令 選項參數 要拷貝的文件路徑/名稱 目的地用戶@主機:目的地路徑/名稱

rsync 和 scp 區別:用 rsync 做文件的複製要比 scp 的速度快,rsync 只對差異文件做更 新。scp 是把所有文件都複製過去。

rsync 主要用於備份和鏡像。具有速度快、避免複製相同內容和支持符號鏈接的優點。

SSH 無密登錄配置

命令:ssh-keygen -t rsa

然後敲(三個回車),就會生成兩個文件 id_rsa(私鑰)、id_rsa.pub(公鑰)

將公鑰拷貝到要免密登錄的目標機器上:ssh-copy-id hadoop102

2.4 集群安裝

注意

  • NameNode 和 SecondaryNameNode 不要安裝在同一台服務器
  • ResourceManager 也很消耗內存,不要和 NameNode、SecondaryNameNode 配置在 同一台機器上。

Hadoop 配置文件分兩類:默認配置文件和自定義配置文件,只有用戶想修改某一默認 配置值時,才需要修改自定義配置文件,更改相應屬性值

自定義配置文件:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 四個配置文件存放在 $HADOOP_HOME/etc/hadoop 這個路徑上,用戶可以根據項目需求重新進行修改配置

命令詳見:
https://blog.csdn.net/qq_44779847/article/details/116500272

常用端口號說明

hadoop基礎入門

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/234135.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-11 17:54
下一篇 2024-12-11 17:54

相關推薦

發表回復

登錄後才能評論