Hadoop的概述和特點


Hadoop的概述和特點

Hadoop官網:https://hadoop.apache.org

一、hadoop概述

1、服務器(節點)
可以理解為我們的一台筆記本/台式機,在這里可以認為是我們的一台虛擬機
后面學習中,我們會把一台服務器稱為一個節點

一個公司里,會有很多服務器。尤其是hadoop集群大到上千台服務器搭建成集群
2、機架
負責存放服務器的架子
3、什么是Hadoop?
Hadoop是一個適合海量數據的分布式存儲(hdfs)和分布式計算(mr)的平台

Hadoop 在某種程度上將多台計算機組織成了一台計算機(做同一件事),
那么 HDFS 就相當於這台計算機的硬盤,而 MapReduce 就是這台計算機的 CPU 控制器

舉例:購物平台:淘寶、京東
4、Hadoop的三大組件
hadoop是一個統稱,目前hadoop主要包含三大組件

(1)hdfs:是一個分布式存儲框架,適合海量數據存儲
(2)mapreduce:是一個分布式計算框架,適合海量數據計算
(3)yarn:是一個資源調度平台,負責給計算框架分配計算資源

hadoop1.x系列是沒有yarn的

hadoop2.x系列開始才有的yarn

5、hadoop版本介紹(了解一下)
目前,hadoop已經演變為大數據計算的代名詞,形成了一套完善的大數據計算的生態系統,所以針對hadoop也出現了很多版本

Apache hadoop(需要我們手動搭建)
官方版本

Cloudera hadoop(CDH)
使用下載最多的版本,穩定,有商業支持(收費),在Apache的基礎上打上了一些patch。推薦使用。

HortonWorks(HDP)
基於Apache的版本進行了集成,結合Ambari可以實現平台化快速安裝部署
6、分布式存儲(HDFS)
(1)具有主從架構
(2)去中心化架構----zookeeper

在主從架構中:
主節點:Namenode,負責存儲元數據
從節點:Datanodes,負責存儲數據本身

通常情況下,主節點有一個備用的Nameinode,防止單節點故障

HDFS集群由單個名稱節點組成,主服務器管理文件系統名稱空間並控制客戶機對文件的訪問。
此外,還有許多數據節點,通常是集群中每個節點一個,它們管理連接到運行它們的節點的存儲

image

7、分布式存儲的詳細介紹
在分布式存儲系統中,分散在不同節點中的數據可能屬於同一個文件(因為一個大文件可能被分為了很多個block塊)

為了組織眾多的文件,把文件可以放到不同的文件夾中,文件夾可以一級一級的包含。
我們把這種組織形式稱為命名空間(namespace)
命名空間由namenode管理
命名空間管理着整個服務器集群中的所有文件。

集群中不同的節點承擔不同的職責。
負責命名空間職責的節點稱為主節點,namenode放在master上面
負責存儲真實數據職責的節點稱為從節點,datanode放在node1、node2...上面
主節點負責管理文件系統的文件結構(說白了就是目錄),從節點負責存儲真實的數據,稱為主從式結構(master-slaves)

用戶操作時,應該先和主節點打交道,查詢數據在哪些從節點上存儲,然后再到從節點讀取。
在主節點上,為了加快用戶訪問的速度,會把整個命名空間信息都放在內存中,當存儲的文件越多時,那么主節點就需要越多的內存空間。

在從節點存儲數據時,有的原始數據文件可能很大,有的可能很小,大小不一的文件不容易管理,那么可以抽象出一個獨立的存儲文件單位,稱為塊(block),一個block塊是128M

數據存放在集群中,可能因為網絡原因或者節點硬件原因造成訪問失敗,最好采用副本(replication)機制,把數據同時備份到多台節點中,這樣數據就安全了,數據丟失或者訪問失敗的概率就小了。
8、hafs架構分析
(1)負責數據的分布式存儲
(2)主從結構
	主節點,一般有2個:namenode
	從節點,有多個:datanode
(3)namenode負責
	接收用戶操作請求,是用戶操作的入口
	維護文件系統的目錄結構,稱作命名空間
(4)datanode負責
	存儲數據
9、yarn架構分析
(1)資源的調度和管理平台
(2)主從結構
	主節點,一般有2個:ResourceManager
	從節點,有很多個: NodeManager
(3)ResourceManager負責
	集群資源的分配與調度
	MapReduce、Storm、Spark等應用,必須實現ApplicationMaster接口,才能被RM管理
(4)NodeManager負責
	單節點資源的管理(CPU+內存)
10、mapreduce架構分析
(1)依賴磁盤io的批處理計算模型(mapreduce基於磁盤,spark基於內存)
(2)主從結構
	主節點,只有一個: MRAppMaster
	從節點,就是具體的task
(3)MRAppMaster負責
	接收客戶端提交的計算任務
	把計算任務分給NodeManager的Container中執行,即任務調度
	Container是YARN中資源的抽象,它封裝了某個節點上一定量的資源(CPU和內存兩類資源)
	Container由ApplicationMaster向ResourceManager申請的,由ResouceManager中的資源調度器異步分配給ApplicationMaster
	Container的運行是由ApplicationMaster向資源所在的NodeManager發起的監控Container中Task的執行情況
(4)Task負責:
	處理數據

二、Hadoop的特點(SEER)

(1)擴容能力(Scalable):能可靠(reliably)地存儲和處理PB級別的數據。如果數據量更大,存儲不下了,再增加節點就可以了。
(2)成本低(Economical):可以通過普通機器組成的服務器集群來分發以及處理數據.這些服務器集群可達數千個節點。
(3)高效率(Efficient):通過分發計算程序,hadoop可以在數據所在節點上(本地)並行地(parallel)處理他們,這使得處理非常的迅速
(4)可靠性(Reliable):hadoop能夠自動地維護數據的多份副本,並且在任務失敗后能夠自動地重新部署(redeploy)計算任務


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM