0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

hadoop環(huán)境的基本概念和部署方法

汽車玩家 ? 來源:今日頭條 ? 作者:不一樣的程序猿 ? 2020-03-15 17:14 ? 次閱讀

1概述

1.1目的

初步了解hadoop,初步掌握hadoop環(huán)境的部署方法。

1.2基本概念

hadoop的核心主要包含:HDFS和MapReduce

HDFS是分布式文件系統(tǒng),用于分布式存儲海量數(shù)據(jù)。

MapReduce是分布式數(shù)據(jù)處理模型,本質(zhì)是并行處理

2基本概念

2.1HDFS

2.1.1HDFS是什么?

HADOOP DISTRIBUTED FILE SYSTEM,簡稱HDFS,是一個分布式文件系統(tǒng)。它是谷歌的GFS提出之后出現(xiàn)的另外一種文件系統(tǒng)。它有一定高度的容錯性,而且提供了高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應用。HDFS 提供了一個高度容錯性和高吞吐量的海量數(shù)據(jù)存儲解決方案。

在最初,HADOOP是作為Apache Nutch搜索引擎項目的基礎架構(gòu)而開發(fā)的,后來由于它獨有的特性,讓它成為HADOOP CORE項目的一部分。

2.1.2HDFS的設計思路?

是什么提供它高吞吐量的數(shù)據(jù)訪問和適合大規(guī)模數(shù)據(jù)集的應用的特性呢,這就要說一下它的設計思路。

首先HDFS的設計之初就是針對超大文件的存儲的,小文件不會提高訪問和存儲速度,反而會降低;其次它采用了最高效的訪問模式,也就是經(jīng)常所說的流式數(shù)據(jù)訪問,特點就是一次寫入多次讀取;再有就是它運行在普通的硬件之上的,即使硬件故障,也就通過容錯來保證數(shù)據(jù)的高可用。

2.1.3HDFS的一些概念

Block:大文件的存儲會被分割為多個block進行存儲。默認為64MB,每一個blok會在多個datanode上存儲多份副本,默認為3份。[這些設置都能夠通過配置文件進行更改]

Namenode:主要負責存儲一些metadata信息,主要包括文件目錄、block和文件對應關系,以及block和datanote的對應關系

Datanode:負責存儲數(shù)據(jù),上面我們所說的高度的容錯性大部分在datanode上實現(xiàn)的[還有一部分容錯性是體現(xiàn)在namenode和secondname,還有jobtracker的容錯等]。

2.1.4HDFS的基礎架構(gòu)圖

hadoop環(huán)境的基本概念和部署方法

HDFS的基礎架構(gòu)圖

2.1.5解析HDFS帶來的好處

高吞吐量訪問:HDFS的每個block分布在不同的rack上,在用戶訪問時,HDFS會計算使用最近和訪問量最小的服務器給用戶提供。由于block在不同的rack上都有備份,所以不再是單數(shù)據(jù)訪問,所以速度和效率是非常快的。另外HDFS可以并行從服務器集群中讀寫,增加了文件讀寫的訪問帶寬。

高容錯性:上面簡單的介紹了一下高度容錯。系統(tǒng)故障是不可避免的,如何做到故障之后的數(shù)據(jù)恢復和容錯處理是至關重要的。HDFS通過多方面保證數(shù)據(jù)的可靠性,多分復制并且分布到物理位置的不同服務器上,數(shù)據(jù)校驗功能、后臺的連續(xù)自檢數(shù)據(jù)一致性功能,都為高容錯提供了可能。

容量擴充:因為HDFS的block信息存放到namenode上,文件的block分布到datanode上,當擴充的時候,僅僅添加datanode數(shù)量,系統(tǒng)可以在不停止服務的情況下做擴充,不需要人工干預。

2.2MapReduce

從它名字上來看就大致可以看出個緣由,兩個動詞Map和Reduce。

Map(展開)就是將一個任務分解成為多個任務,Reduce就是將分解后多任務處理的結(jié)果匯總起來,得出最后的分析結(jié)果。

2.2.1MapReduce原理

在Hadoop中,每個MapReduce任務都被初始化為一個Job,每個Job又可以分為兩種階段:map階段和reduce階段。這兩個階段分別用兩個函數(shù)表示,即map函數(shù)和reduce函數(shù)。map函數(shù)接收一個形式的輸入,然后同樣產(chǎn)生一個形式的中間輸出,Hadoop函數(shù)接收一個如形式的輸入,然后對這個value集合進行處理,每個reduce產(chǎn)生0或1個輸出,reduce的輸出也是形式的。

2.2.2Map的過程

MapRunnable從input split中讀取一個個的record,然后依次調(diào)用Mapper的map函數(shù),將結(jié)果輸出。map的輸出并不是直接寫入硬盤,而是將其寫入緩存memory buffer。當buffer中數(shù)據(jù)的到達一定的大小,一個背景線程將數(shù)據(jù)開始寫入硬盤。在寫入硬盤之前,內(nèi)存中的數(shù)據(jù)通過partitioner分成多個partition。在同一個partition中,背景線程會將數(shù)據(jù)按照key在內(nèi)存中排序。每次從內(nèi)存向硬盤flush數(shù)據(jù),都生成一個新的spill文件。

當此task結(jié)束之前,所有的spill文件被合并為一個整的被partition的而且排好序的文件。reducer可以通過http協(xié)議請求map的輸出文件,tracker.http.threads可以設置http服務線程數(shù)。

2.2.3Reduce的過程

當map task結(jié)束后,其通知TaskTracker,TaskTracker通知JobTracker。對于一個job,JobTracker知道TaskTracer和map輸出的對應關系。reducer中一個線程周期性的向JobTracker請求map輸出的位置,直到其取得了所有的map輸出。reduce task需要其對應的partition的所有的map輸出。reduce task中的copy過程即當每個map task結(jié)束的時候就開始拷貝輸出,因為不同的map task完成時間不同。reduce task中有多個copy線程,可以并行拷貝map輸出。當很多map輸出拷貝到reduce task后,一個背景線程將其合并為一個大的排好序的文件。當所有的map輸出都拷貝到reduce task后,進入sort過程,將所有的map輸出合并為大的排好序的文件。最后進入reduce過程,調(diào)用reducer的reduce函數(shù),處理排好序的輸出的每個key,最后的結(jié)果寫入HDFS。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Hadoop
    +關注

    關注

    1

    文章

    90

    瀏覽量

    15914
  • HDFS
    +關注

    關注

    1

    文章

    30

    瀏覽量

    9537
收藏 人收藏

    評論

    相關推薦

    卷積神經(jīng)網(wǎng)絡的基本概念、原理及特點

    基本概念、原理、特點以及在不同領域的應用情況。 一、卷積神經(jīng)網(wǎng)絡的基本概念 卷積神經(jīng)網(wǎng)絡是一種深度學習算法,它由多層卷積層和池化層堆疊而成。卷積層負責提取圖像中的局部特征,而池化層則負責降低特征的空間維度,同時增加對圖像位移的不變性。通過這種方式,CNN能夠自
    的頭像 發(fā)表于 07-11 14:38 ?393次閱讀

    循環(huán)神經(jīng)網(wǎng)絡的基本概念

    循環(huán)神經(jīng)網(wǎng)絡的基本概念、循環(huán)機制、長短時記憶網(wǎng)絡(LSTM)、門控循環(huán)單元(GRU)等方面進行介紹。 循環(huán)神經(jīng)網(wǎng)絡的基本概念 循環(huán)神經(jīng)網(wǎng)絡是一種時間序列模型,其基本思想是將序列數(shù)據(jù)中的每個元素(例如,單詞、時間點等)作為輸入,通過循環(huán)結(jié)構(gòu)將前一個時間步的
    的頭像 發(fā)表于 07-04 14:31 ?370次閱讀

    組合邏輯控制器的基本概念、實現(xiàn)原理及設計方法

    廣泛應用于計算機、通信、控制等領域。 本文將詳細介紹組合邏輯控制器的基本概念、實現(xiàn)原理、設計方法、應用場景等方面的內(nèi)容,以幫助讀者全面了解組合邏輯控制器。 基本概念 1.1 組合邏輯 組合邏輯(Combinatorial Log
    的頭像 發(fā)表于 06-30 10:26 ?607次閱讀

    串口通信的基本概念

    串口通信(Serial Communications)的基本概念可以歸納為以下幾個方面:
    的頭像 發(fā)表于 06-12 09:28 ?384次閱讀
    串口通信的<b class='flag-5'>基本概念</b>

    數(shù)字視音頻技術(shù)的基本概念

    技術(shù)的應用范圍廣泛,涵蓋了廣播電視、影視制作、多媒體通信、遠程教育等多個領域。本文將詳細介紹數(shù)字視音頻技術(shù)的基本概念、技術(shù)原理和應用現(xiàn)狀等方面。 數(shù)字視音頻技術(shù)的基本概念 數(shù)字信號:數(shù)字信號是一種離散的、不
    的頭像 發(fā)表于 12-14 15:00 ?1239次閱讀

    接地裝置的基本概念

    接地裝置的基本概念
    的頭像 發(fā)表于 12-05 15:49 ?452次閱讀
    接地裝置的<b class='flag-5'>基本概念</b>

    工程師必看!電路基本概念有哪些?

    工程師必看!電路基本概念有哪些?
    的頭像 發(fā)表于 11-30 09:31 ?529次閱讀
    工程師必看!電路<b class='flag-5'>基本概念</b>有哪些?

    ros的基本概念是什么

    基本概念: ROS是一個用于在不同進程間匿名的發(fā)布、訂閱、傳遞信息的中間件。 ROS2系統(tǒng)的核心部分是ROS網(wǎng)絡(ROS Graph)。 ROS網(wǎng)絡是指在ROS系統(tǒng)中不同的節(jié)點間相互通信的連接
    的頭像 發(fā)表于 11-27 11:21 ?1571次閱讀

    MMU相關的基本概念

    1-MMU相關的基本概念 (1)虛擬地址相關基本概念 ? 虛擬內(nèi)存(Virtual Memory,VM):為每個進程提供了一致的、連續(xù)的、私有的內(nèi)存空間,簡化了內(nèi)存管理。將主存看成是一個存儲在磁盤
    的頭像 發(fā)表于 11-26 16:11 ?558次閱讀

    線性穩(wěn)壓器和開關模式電源(SMPS)的基本概念

    電子發(fā)燒友網(wǎng)站提供《線性穩(wěn)壓器和開關模式電源(SMPS)的基本概念.pdf》資料免費下載
    發(fā)表于 11-24 14:47 ?0次下載
    線性穩(wěn)壓器和開關模式電源(SMPS)的<b class='flag-5'>基本概念</b>

    C語言的基本概念和編程技術(shù)

    電子發(fā)燒友網(wǎng)站提供《C語言的基本概念和編程技術(shù).pdf》資料免費下載
    發(fā)表于 11-20 10:18 ?0次下載
    C語言的<b class='flag-5'>基本概念</b>和編程技術(shù)

    線程池基本概念與原理

    一、線程池基本概念與原理 1.1 線程池概念及優(yōu)勢 C++線程池簡介 線程池是一種并發(fā)編程技術(shù),它能有效地管理并發(fā)的線程、減少資源占用和提高程序的性能。C++線程池通過庫,結(jié)合C++ 11、14
    的頭像 發(fā)表于 11-10 10:24 ?408次閱讀

    LED顯示屏的幾個最基本概念

    電子發(fā)燒友網(wǎng)站提供《LED顯示屏的幾個最基本概念.pdf》資料免費下載
    發(fā)表于 11-02 09:53 ?0次下載
    LED顯示屏的幾個最<b class='flag-5'>基本概念</b>

    OFDM的基本原理和PAPR的基本概念

    電子發(fā)燒友網(wǎng)站提供《OFDM的基本原理和PAPR的基本概念.pdf》資料免費下載
    發(fā)表于 10-25 09:57 ?0次下載
    OFDM的基本原理和PAPR的<b class='flag-5'>基本概念</b>

    天線的幾個基本概念

    電子發(fā)燒友網(wǎng)站提供《天線的幾個基本概念.ppt》資料免費下載
    發(fā)表于 10-07 16:17 ?1次下載
    天線的幾個<b class='flag-5'>基本概念</b>