-
HDFS由一個(gè)NameNode和多個(gè)DataNode組成。
NameNode作用:
1、管理文件系統(tǒng)的命名空間,存放文件元數(shù)據(jù)。
2、維護(hù)著文件系統(tǒng)的所有文件和目錄,文件與數(shù)據(jù)塊的映射。
3、記錄每個(gè)文件中各個(gè)塊所在數(shù)據(jù)節(jié)點(diǎn)的信息。
DataNode是文件系統(tǒng)的工作節(jié)點(diǎn),作用:
1、存儲(chǔ)并檢索數(shù)據(jù)塊。
2、向NameNode更新所存儲(chǔ)塊的列表
查看全部 -
Spark簡(jiǎn)介:
1、基于內(nèi)存計(jì)算的大數(shù)據(jù)并行計(jì)算框架
2、Spark是Map Reduce的替代方案,兼容HDFS,HIVE等數(shù)據(jù)源
查看全部 -
HBase簡(jiǎn)介:
RowKey:數(shù)據(jù)唯一標(biāo)識(shí),按字典排序,主鍵
ColumnFamily:列族,多個(gè)列的集合,最多不要超過(guò)3個(gè)
查看全部 -
HBase簡(jiǎn)介:
高可靠,高性能,面向列,可伸縮,實(shí)時(shí)讀寫(xiě)的分布式數(shù)據(jù)庫(kù)
利用HDFS作為其文件存儲(chǔ)系統(tǒng),支持MR程序讀取數(shù)據(jù)
存儲(chǔ)非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)
查看全部 -
Map Reduce編程模型:
? ? 輸入一個(gè)大文件,通過(guò)Split之后,將其分為多個(gè)分片
? ? 每個(gè)文件分片由單獨(dú)的機(jī)器去處理,這就是Map方法
? ? 將各個(gè)機(jī)器計(jì)算的結(jié)果進(jìn)行匯總并得到最終的結(jié)果,這就是Reduce方法
查看全部 -
YARN是Hadoop2.0以后的資源管理器,負(fù)責(zé)整個(gè)集群的資源的管理和調(diào)度,所有的Map Reduce程序都需要通過(guò)它來(lái)進(jìn)行調(diào)度。
YARN概念:
Resource Manager
? ? 分配和調(diào)度資源
? ? 啟動(dòng)并監(jiān)控Application Master
? ? 監(jiān)控Node Manager
Application Master
? ??為MR類(lèi)型的程序申請(qǐng)資源,并分配給內(nèi)部任務(wù)
? ? 負(fù)責(zé)數(shù)據(jù)的切分
? ? 監(jiān)控任務(wù)的執(zhí)行及容錯(cuò)
Node Manager
? ??管理單個(gè)節(jié)點(diǎn)的資源
? ? 處理來(lái)自Resource Manager的命令
? ? 處理來(lái)自Application Master的命令
查看全部 -
Hadoop兩大核心:
1、HDFS分布式文件系統(tǒng):存儲(chǔ)是大數(shù)據(jù)技術(shù)的基礎(chǔ)
2、Map Reduce編程模型:分布式計(jì)算是大數(shù)據(jù)應(yīng)用的解決方案
查看全部 -
HDHS讀流程:
1、客戶端向Name Node發(fā)起讀數(shù)據(jù)請(qǐng)求
2、Name Node找出距離最近的Data Node 節(jié)點(diǎn)信息
3、客戶端從Data Node分塊下載文件
查看全部 -
HDFS寫(xiě)流程:
1、客戶端向Name Node發(fā)起寫(xiě)數(shù)據(jù)請(qǐng)求
2、分塊寫(xiě)入Data Node節(jié)點(diǎn),Data Node自動(dòng)完成副本備份
3、Data Node向Name Node匯報(bào)存儲(chǔ)完成,Name Node通知客戶端
查看全部 -
所有文件的訪問(wèn)都要通過(guò)Name Node來(lái)進(jìn)行,所以Name Node至關(guān)重要
Name Node容錯(cuò)機(jī)制:
1、第一種方法是把文件元數(shù)據(jù)寫(xiě)入NFS,備份在另一臺(tái)機(jī)器上。備份操作是同步的原子的
2、第二種方法是運(yùn)行輔助的Name Node,不過(guò)這個(gè)Name Node不提供服務(wù),它只是把操作日志Merge到Metadata中,但是如果主Name Node失效,總有一部分?jǐn)?shù)據(jù)來(lái)不及Merge,會(huì)造成數(shù)據(jù)丟失。所以一般的做法是把NFS中備份的數(shù)據(jù)拷貝到這個(gè)Name Node,并作為主Name Node運(yùn)行。
查看全部 -
HDFS數(shù)據(jù)塊大小一般設(shè)置為64MB或者128MB。
不能遠(yuǎn)小于64MB:
1、減少硬盤(pán)尋道時(shí)間
2、減少Name Node內(nèi)存消耗。Name Node記錄著Data Node中的數(shù)據(jù)塊信息,若數(shù)據(jù)塊太小,數(shù)據(jù)塊數(shù)量就會(huì)過(guò)多,需要維護(hù)的數(shù)據(jù)塊信息就會(huì)增多,從而消耗Name Node的內(nèi)存
也不能遠(yuǎn)大于64MB:(主要原因從Map Reduce框架來(lái)說(shuō)明)
1、Map崩潰,系統(tǒng)需要重啟,重啟需要重新加載數(shù)據(jù)塊,數(shù)據(jù)塊越大,加載時(shí)間越長(zhǎng),系統(tǒng)恢復(fù)過(guò)程越長(zhǎng)
2、監(jiān)管時(shí)間問(wèn)題,主節(jié)點(diǎn)會(huì)在一個(gè)預(yù)設(shè)的時(shí)間間隔內(nèi)監(jiān)管其他節(jié)點(diǎn)的情況,每個(gè)節(jié)點(diǎn)會(huì)周期性的與主節(jié)點(diǎn)進(jìn)行匯報(bào)通信,超過(guò)預(yù)設(shè)時(shí)間主節(jié)點(diǎn)會(huì)記錄該節(jié)點(diǎn)死亡,并將該節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā)給別的節(jié)點(diǎn)。數(shù)據(jù)塊越大,預(yù)設(shè)時(shí)間估算越不精準(zhǔn),容易對(duì)系統(tǒng)造成不必要的損失和資源浪費(fèi)
3、問(wèn)題分解問(wèn)題,同一個(gè)算法里,數(shù)據(jù)塊越大,時(shí)間復(fù)雜度越高
4、約束Map輸出。在Map Reduce框架里,Map之后的數(shù)據(jù)要經(jīng)過(guò)排序才執(zhí)行Reduce操作,這通常涉及到歸并排序,歸并排序算法思想是“對(duì)小文件進(jìn)行排序,然后將小文件歸并成大文件”
查看全部 -
YARN,Hadoop2.0之后的資源管理器,
ResourceManager, 分配和調(diào)度資源,啟動(dòng)并監(jiān)控ApplicationMaster,監(jiān)控NodeManager
ApplicationMaster
NodeManager
查看全部 -
1.查看hdfs的幫助信息
hdfs?dfs?-help
2.查看hdfs文件系統(tǒng)根目錄下的所有目錄與文件
hdfs?dfs?-ls?/
3.將文件從本地復(fù)制到hdfs文件系統(tǒng)中
hdfs?dfs?-copyFromLocal?/?+路徑
4.將文件從hdfs文件系統(tǒng)中下載到本地虛擬機(jī)
hdfs?dfs?-copyToLocal?/?+路徑
查看全部 -
常用HDFS Shell命令
查看全部 -
RowKey:數(shù)據(jù)唯一標(biāo)識(shí),按字典排序
Column Family:列族,多個(gè)列的集合。最多不要超過(guò)3個(gè)
查看全部
舉報(bào)