Coursera, Big Data 1, Introduction (week 3)
?
什么是分布式文件系統(tǒng)?為什么需要分布式文件系統(tǒng)?
如果文件系統(tǒng)可以管理用網(wǎng)絡(luò)連接的很多個存儲單元,叫分布式文件系統(tǒng). 分布式文件系統(tǒng)提供了數(shù)據(jù)可擴(kuò)展性,容錯性,高并發(fā). 這些是傳統(tǒng)文件系統(tǒng)不具有的.
?
Hadoop getting started
?為什么用Hadoop? Hadoop 的 4 個What 和 How.
?
?
Hadoop 的主要Goal:
1. 可擴(kuò)展來增加 node
2. 容錯,Node down 可以很容易recover
3. 可以讀取各種格式的數(shù)據(jù)(structured, unstructured)
4. 把task 分配到不同node,具有并行計算能力
?
Hadoop 生態(tài)系統(tǒng):
?
接下來先將整個Hadoop 生態(tài)系統(tǒng),然后講主要模塊(HDFS分布式存儲, YARN提供調(diào)度和資源管理, MapReduce并行計算) ,最后講云計算(IaaS, PaaS, SaaS), 此外還有什么時候不適用 Hadoop.
?
Hadoop生態(tài)系統(tǒng):
?前面已經(jīng)提到了HDFS 是管理分布式存儲的, YARN 是負(fù)責(zé)調(diào)度和管理資源的,MapReduce 是做分布式計算的,用戶只需要寫兩個函數(shù)就可以實現(xiàn)分布式計算了.
?
MapReduce 支持的數(shù)據(jù)model 有限,Hive 和 Pig 是分別針對 SQL-Like query 和 dataflow 類型數(shù)據(jù)的,可以理解為對MapReduce的擴(kuò)展.
?
?Giraph 用來處理大規(guī)模圖表.?
?
?Storm, Spark, Flink 是內(nèi)存處理大數(shù)據(jù)的技術(shù).
Strom for streaming data analysis. Spark for in-memory data analysis.
?
HBase, Cassandra, MongoDB 來處理一些不適合放在關(guān)系型數(shù)據(jù)庫的數(shù)據(jù),比如 key-value 數(shù)據(jù),Sparse tables 數(shù)據(jù). 這些都屬于 NoSQL 數(shù)據(jù)庫.
?
?有了上面介紹的這么多模塊,需要一個統(tǒng)一的集中管理工具來管理,就是Zookeeper.
?
?這么多工具,如果自己來安排配置其實挺麻煩的,所有就有一些公司提供了集成的預(yù)裝好的core工具集合,并對production env提供Support. 比如 Cloudera, MAPR, Hortonworks.
?
?講完了整個生態(tài)系統(tǒng),接下來分別講模塊.
HDFS:?
HDFS 怎么提供擴(kuò)張性和可靠性? 以及它的兩個關(guān)鍵模塊 NameNode 和 DataNode.
?
HDFS 默認(rèn)每一塊數(shù)據(jù)放三份拷貝來提供可靠性. HDFS支持多種數(shù)據(jù)類型, 讀和寫時都需要提供數(shù)據(jù)類型.
HDFS由兩種node 組成, Name Node (一般一個cluster就一個)和 Data Node (每個machine都是一個 data node).
?
YARN: Resource manager for Hadoop
?
1. Resource manager and node manager
?
2. Appliacation Master 就像一個談判人員, 從resource manager 協(xié)調(diào)資源,讓node manager 來負(fù)責(zé)執(zhí)行。
?
?
?3. Container: 可以把它看做資源的抽象.
?
?
MapReduce:
計算分三步:Map -> Shuffle and Sort -> Reduce
下面圖片用了WordCount 例子來顯示這三個步驟
?
全局圖
?
?哪些情況不適合使用MapReduce: 因為每次都需要讀取Input數(shù)據(jù),所有Input數(shù)據(jù)不能隨時變化,還有task 不能有先后依賴,還有MR 算完了才出結(jié)果也就不適合交互型的task.
?
什么情況下Hadoop使用或者不適用?
適用的場景包括了數(shù)據(jù)量比較大,數(shù)據(jù)格式多樣等
不適用的場景:小數(shù)據(jù)量;一些數(shù)據(jù)之間有依賴的高級算法也不適用
?
?
?
云計算:
把基礎(chǔ)架構(gòu)交給云服務(wù)商,團(tuán)隊只需要關(guān)注應(yīng)用.
IaaS: 比如 Amazon EC2, 阿里云
PaaS: Microsoft Azure, Google App Engine
SaaS: Dropbox
?
Value from Hadoop:
?
?
?
Ref:
About YARN:?https://www.ibm.com/developerworks/cn/data/library/bd-yarn-intro/
?
轉(zhuǎn)載于:https://www.cnblogs.com/mashuai-191/p/10045394.html
總結(jié)
以上是生活随笔為你收集整理的Coursera, Big Data 1, Introduction (week 3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动化测试(三)如何用python写一个
- 下一篇: freeze