數(shù)據(jù)產(chǎn)品經(jīng)理術(shù)語之hadoop

2 評論 23364 瀏覽 188 收藏 8 分鐘

數(shù)據(jù)產(chǎn)品經(jīng)理的工作描述中,“了解hadoop”是一個高頻出現(xiàn)的內(nèi)容。大多數(shù)產(chǎn)品經(jīng)理并沒有直接與hadoop打交道的經(jīng)驗,本文希望能夠幫助大家對Hadoop有一個基礎(chǔ)的理解。

一、是什么

Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu),它封裝了復(fù)雜的分布式底層細節(jié),使開發(fā)人員能夠低門檻地開發(fā)分布式程序,充分利用集群的威力進行高速運算和存儲。

Hadoop是一個針對于大數(shù)據(jù)的存取、計算、加工、分析,由多個工具構(gòu)成的解決方案。

二、為了解決什么問題

任何新技術(shù)的提出,都是為了解決問題。那么,Hadoop是在什么樣的情況下應(yīng)運而生的,它又解決了什么問題呢?

隨著互聯(lián)網(wǎng)數(shù)據(jù)量增多,數(shù)據(jù)產(chǎn)生速度增快,數(shù)據(jù)類型多樣性提高,之前的集中式的數(shù)據(jù)處理系統(tǒng)顯露出了很多問題。

  • 原有系統(tǒng)存儲容量有限,無法承載每日TB甚至PB級的數(shù)據(jù)量。
  • 原有系統(tǒng)適合處理簡單數(shù)據(jù),對于音視頻、圖片等多種類型的文件支持一般。
  • 原有系統(tǒng)應(yīng)對故障的能力弱。
  • 原有系統(tǒng)對機器要求高,構(gòu)建成本高。

Hadoop構(gòu)建了可以運行在多個廉價小型機的分布式系統(tǒng)架構(gòu),以低成本的方案解決了上述問題,從而得到了行業(yè)中大量的應(yīng)用。

三、工作原理

1. 示意圖

Hadoop中的核心設(shè)計包括兩點:HDFS和MapReduce。

圖中白色塊屬于HDFS,黑色塊屬于MapReduce。

2. HDFS

HDFS(Hadoop Distributed File System)是一個高度容錯性的分布式文件系統(tǒng),可以被廣泛的部署于廉價的PC上。它以流式訪問模式訪問應(yīng)用程序的數(shù)據(jù),這大大提高了整個系統(tǒng)的數(shù)據(jù)吞吐量,因而非常適合用于具有超大數(shù)據(jù)集的應(yīng)用程序中。

一個典型的HDFS集群包含一個NameNode節(jié)點和多個DataNode節(jié)點,NameNode節(jié)點負責(zé)整個HDFS文件系統(tǒng)中的文件的元數(shù)據(jù)的保管和管理,集群中通常只有一臺機器上運行NameNode實例,DataNode節(jié)點保存文件中的數(shù)據(jù),集群中的機器分別運行一個DataNode實例。

在HDFS中,NameNode節(jié)點被稱為名稱節(jié)點,DataNode節(jié)點被稱為數(shù)據(jù)節(jié)點。DataNode節(jié)點通過心跳機制與NameNode節(jié)點進行定時的通信。

NameNode :

可以看作是分布式文件系統(tǒng)中的管理者,存儲文件系統(tǒng)的meta-data,主要負責(zé)管理文件系統(tǒng)的命名空間,集群配置信息,存儲塊的復(fù)制。

Secondary NameNode:

幫助 NameNode 收集文件系統(tǒng)運行的狀態(tài)信息 。

DataNode :

是文件存儲的基本單元,它存儲文件塊在本地文件系統(tǒng)中,保存了文件塊的meta-data,同時周期性的發(fā)送所有存在的文件塊的報告給NameNode。

3. MapReduce

MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集的并行運算。Map(映射)和Reduce(化簡),采用分而治之思想,先把任務(wù)分發(fā)到集群多個節(jié)點上,并行計算,然后再把計算結(jié)果合并,從而得到最終計算結(jié)果。

舉個通俗的例子:

我們要數(shù)圖書館中的所有書,你數(shù)1號書架,我數(shù)2號書架,這就是“Map”。我們?nèi)嗽蕉?,?shù)書就更快。

現(xiàn)在我們到一起,把所有人的統(tǒng)計數(shù)加在一起,這就是“Reduce”。

用戶提交任務(wù)給JobTracer,JobTracer把對應(yīng)的用戶程序中的Map操作和Reduce操作映射至TaskTracer節(jié)點中;輸入模塊負責(zé)把輸入數(shù)據(jù)分成小數(shù)據(jù)塊,然后把它們傳給Map節(jié)點;Map節(jié)點得到每一個key/value對,處理后產(chǎn)生一個或多個key/value對,然后寫入文件;Reduce節(jié)點獲取臨時文件中的數(shù)據(jù),對帶有相同key的數(shù)據(jù)進行迭代計算,然后把終結(jié)果寫入文件。

JobTracker:

當(dāng)有任務(wù)提交到 Hadoop 集群的時候負責(zé) Job 的運行,負責(zé)調(diào)度多個 TaskTracker 。

TaskTracker:

負責(zé)某一個 map 或者 reduce 任務(wù) 。

四、優(yōu)缺點

1. 優(yōu)勢

  1. 大數(shù)據(jù)文件,非常適合上T級別的大文件或者一堆大數(shù)據(jù)文件的存儲,如果文件只有幾個G甚至更小就沒啥意思了。
  2. 文件分塊存儲,HDFS會將一個完整的大文件平均分塊存儲到不同計算器上,它的意義在于讀取文件時可以同時從多個主機取不同區(qū)塊的文件,多主機讀取比單主機讀取效率要高得多。
  3. 流式數(shù)據(jù)訪問,一次寫入多次讀寫,這種模式跟傳統(tǒng)文件不同,它不支持動態(tài)改變文件內(nèi)容,而是要求讓文件一次寫入就不做變化,要變化也只能在文件末添加內(nèi)容。
  4. 廉價硬件,HDFS可以應(yīng)用在普通PC機上,這種機制能夠讓給一些公司用幾十臺廉價的計算機,就可以撐起一個大數(shù)據(jù)集群。
  5. 硬件故障,HDFS認為所有計算機都可能會出問題,為了防止某個主機失效讀取不到該主機的塊文件,它將同一個文件塊副本分配到其它某幾個主機上,如果其中一臺主機失效,可以迅速找另一塊副本取文件。

2. 缺陷

HDFS不適合用在:要求低時間延遲數(shù)據(jù)訪問的應(yīng)用,存儲大量的小文件,多用戶寫入,任意修改文件。

五、適用場景

搜索、日志處理、推薦系統(tǒng)、數(shù)據(jù)分析、視頻圖像分析、數(shù)據(jù)保存等。

六、生態(tài)

  • 部署,配置和監(jiān)控:Ambari,Whirr
  • 監(jiān)控管理工具:Hue, karmasphere, eclipse plugin, cacti, ganglia
  • 數(shù)據(jù)序列化處理與任務(wù)調(diào)度:Avro, Zookeeper
  • 數(shù)據(jù)收集:Fuse,Webdav,Chukwa,F(xiàn)lume, Scribe , Nutch
  • 數(shù)據(jù)存儲:HDFS
  • 類SQL查詢數(shù)據(jù)倉庫:Hive
  • 流式數(shù)據(jù)處理:Pig
  • 并行計算框架:MapReduce, Tez
  • 數(shù)據(jù)挖掘和機器學(xué)習(xí):Mahout
  • 列式存儲在線數(shù)據(jù)庫:HBase
  • 元數(shù)據(jù)中心:HCatalog (可以和Pig,Hive ,MapReduce等結(jié)合使用)
  • 工作流控制:Oozie,Cascading
  • 數(shù)據(jù)導(dǎo)入導(dǎo)出到關(guān)系數(shù)據(jù)庫:Sqoop,F(xiàn)lume, Hiho
  • 數(shù)據(jù)可視化:drilldown,Intellicus

 

本文由 @?流風(fēng) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Pixabay,基于 CC0 協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 大家期待已久的《數(shù)據(jù)產(chǎn)品經(jīng)理實戰(zhàn)訓(xùn)練營》終于在起點學(xué)院(人人都是產(chǎn)品經(jīng)理旗下教育機構(gòu))上線啦!

    本課程非常適合新手數(shù)據(jù)產(chǎn)品經(jīng)理,或者想要轉(zhuǎn)崗的產(chǎn)品經(jīng)理、數(shù)據(jù)分析師、研發(fā)、產(chǎn)品運營等人群。

    課程會從基礎(chǔ)概念,到核心技能,再通過典型數(shù)據(jù)分析平臺的實戰(zhàn),幫助大家構(gòu)建完整的知識體系,掌握數(shù)據(jù)產(chǎn)品經(jīng)理的基本功。

    學(xué)完后你會掌握怎么建指標體系、指標字典,如何設(shè)計數(shù)據(jù)埋點、保證數(shù)據(jù)質(zhì)量,規(guī)劃大數(shù)據(jù)分析平臺等實際工作技能~

    現(xiàn)在就添加空空老師(微信id:anne012520),咨詢課程詳情并領(lǐng)取福利優(yōu)惠吧!

    來自廣東 回復(fù)
  2. 分析得挺細致的

    來自廣東 回復(fù)