日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Hadoop生态系统详解

發(fā)布時間:2024/3/24 windows 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop生态系统详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

4.1 Hadoop生態(tài)系統(tǒng)

狹義的Hadoop VS 廣義的Hadoop

  • 廣義的Hadoop:指的是Hadoop生態(tài)系統(tǒng),Hadoop生態(tài)系統(tǒng)是一個很龐大的概念,hadoop是其中最重要最基礎的一個部分,生態(tài)系統(tǒng)中每一子系統(tǒng)只解決某一個特定的問題域(甚至可能更窄),不搞統(tǒng)一型的全能系統(tǒng),而是小而精的多個小系統(tǒng);

Hive:數(shù)據(jù)倉庫

R:數(shù)據(jù)分析

Mahout:機器學習庫

pig:腳本語言,跟Hive類似

Oozie:工作流引擎,管理作業(yè)執(zhí)行順序

Zookeeper:用戶無感知,主節(jié)點掛掉選擇從節(jié)點作為主的

Flume:日志收集框架

Sqoop:數(shù)據(jù)交換框架,例如:關系型數(shù)據(jù)庫與HDFS之間的數(shù)據(jù)交換

Hbase : 海量數(shù)據(jù)中的查詢,相當于分布式文件系統(tǒng)中的數(shù)據(jù)庫

Spark: 分布式的計算框架基于內存

  • spark core
  • spark sql
  • spark streaming 準實時 不算是一個標準的流式計算
  • spark ML spark MLlib

Kafka: 消息隊列

Storm: 分布式的流式計算框架 python操作storm

Flink: 分布式的流式計算框架

Hadoop生態(tài)系統(tǒng)的特點

  • 開源、社區(qū)活躍

  • 囊括了大數(shù)據(jù)處理的方方面面

  • 成熟的生態(tài)圈

4.2HDFS 讀寫流程& 高可用

  • HDFS讀寫流程

    • 客戶端向NameNode發(fā)出寫文件請求。

    • 檢查是否已存在文件、檢查權限。若通過檢查,直接先將操作寫入EditLog,并返回輸出流對象。
      (注:WAL,write ahead log,先寫Log,再寫內存,因為EditLog記錄的是最新的HDFS客戶端執(zhí)行所有的寫操作。如果后續(xù)真實寫操作失敗了,由于在真實寫操作之前,操作就被寫入EditLog中了,故EditLog中仍會有記錄,我們不用擔心后續(xù)client讀不到相應的數(shù)據(jù)塊,因為在第5步中DataNode收到塊后會有一返回確認信息,若沒寫成功,發(fā)送端沒收到確認信息,會一直重試,直到成功)

    • client端按128MB的塊切分文件。

    • client將NameNode返回的分配的可寫的DataNode列表和Data數(shù)據(jù)一同發(fā)送給最近的第一個DataNode節(jié)點,此后client端和NameNode分配的多個DataNode構成pipeline管道,client端向輸出流對象中寫數(shù)據(jù)。client每向第一個DataNode寫入一個packet,這個packet便會直接在pipeline里傳給第二個、第三個…DataNode。
      (注:并不是寫好一個塊或一整個文件后才向后分發(fā))

    • 每個DataNode寫完一個塊后,會返回確認信息。
      (注:并不是每寫完一個packet后就返回確認信息,個人覺得因為packet中的每個chunk都攜帶校驗信息,沒必要每寫一個就匯報一下,這樣效率太慢。正確的做法是寫完一個block塊后,對校驗信息進行匯總分析,就能得出是否有塊寫錯的情況發(fā)生)

    • 寫完數(shù)據(jù),關閉輸輸出流。

    • 發(fā)送完成信號給NameNode。

      (注:發(fā)送完成信號的時機取決于集群是強一致性還是最終一致性,強一致性則需要所有DataNode寫完后才向NameNode匯報。最終一致性則其中任意一個DataNode寫完后就能單獨向NameNode匯報,HDFS一般情況下都是強調強一致性)

  • HDFS如何實現(xiàn)高可用(HA)

    • 數(shù)據(jù)存儲故障容錯
      • 磁盤介質在存儲過程中受環(huán)境或者老化影響,數(shù)據(jù)可能錯亂
      • 對于存儲在 DataNode 上的數(shù)據(jù)塊,計算并存儲校驗和(CheckSum)
      • 讀取數(shù)據(jù)的時候, 重新計算讀取出來的數(shù)據(jù)校驗和, 校驗不正確拋出異常, 從其它DataNode上讀取備份數(shù)據(jù)
    • 磁盤故障容錯
      • DataNode 監(jiān)測到本機的某塊磁盤損壞
      • 將該塊磁盤上存儲的所有 BlockID 報告給 NameNode
      • NameNode 檢查這些數(shù)據(jù)塊在哪些DataNode上有備份,
      • 通知相應DataNode, 將數(shù)據(jù)復制到其他服務器上
    • DataNode故障容錯
      • 通過心跳和NameNode保持通訊
      • 超時未發(fā)送心跳, NameNode會認為這個DataNode已經宕機
      • NameNode查找這個DataNode上有哪些數(shù)據(jù)塊, 以及這些數(shù)據(jù)在其它DataNode服務器上的存儲情況
      • 從其它DataNode服務器上復制數(shù)據(jù)
    • NameNode故障容錯
      • 主從熱備 secondary namenode
      • zookeeper配合 master節(jié)點選舉

dary namenode
- zookeeper配合 master節(jié)點選舉

總結

以上是生活随笔為你收集整理的Hadoop生态系统详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。