Hadoop生態(tài)圈以及各組成部分的簡(jiǎn)介
1.Hadoop是什么?
適合大數(shù)據(jù)的分布式存儲(chǔ)與計(jì)算平臺(tái)
HDFS: Hadoop Distributed File System分布式文件系統(tǒng)
MapReduce:并行計(jì)算框架
2.Hadoop生態(tài)圈
①HBase
Google Bigtable的開(kāi)源實(shí)現(xiàn)
列式數(shù)據(jù)庫(kù)
可集群化
可以使用shell、web、api等多種方式訪問(wèn)
適合高讀寫(xiě)(insert)的場(chǎng)景
HQL查詢(xún)語(yǔ)言
NoSQL的典型代表產(chǎn)品
②Hive
數(shù)據(jù)倉(cāng)庫(kù)工具??梢园袶adoop下的原始結(jié)構(gòu)化數(shù)據(jù)變成Hive中的表
支持一種與SQL幾乎完全相同的語(yǔ)言HiveQL。除了不支持更新、索引和事務(wù),幾乎SQL的其它特征都能支持
可以看成是從SQL到Map-Reduce的映射器
提供shell、JDBC/ODBC、Thrift、Web等接口
③Zookeeper
Google Chubby的開(kāi)源實(shí)現(xiàn)
用于協(xié)調(diào)分布式系統(tǒng)上的各種服務(wù)。例如確認(rèn)消息是否準(zhǔn)確到達(dá),防止單點(diǎn)失效,處理負(fù)載均衡等
應(yīng)用場(chǎng)景:Hbase,實(shí)現(xiàn)Namenode自動(dòng)切換
工作原理:***,跟隨者以及選舉過(guò)程
④Sqoop
用于在Hadoop和關(guān)系型數(shù)據(jù)庫(kù)之間交換數(shù)據(jù)
通過(guò)JDBC接口連入關(guān)系型數(shù)據(jù)庫(kù)
⑤Chukwa
架構(gòu)在Hadoop之上的數(shù)據(jù)采集與分析框架
主要進(jìn)行日志采集和分析
通過(guò)安裝在收集節(jié)點(diǎn)的“代理”采集最原始的日志數(shù)據(jù)
代理將數(shù)據(jù)發(fā)給收集器
收集器定時(shí)將數(shù)據(jù)寫(xiě)入Hadoop集群
指定定時(shí)啟動(dòng)的Map-Reduce作業(yè)隊(duì)數(shù)據(jù)進(jìn)行加工處理和分析
⑥Pig
Hadoop客戶(hù)端
使用類(lèi)似于SQL的面向數(shù)據(jù)流的語(yǔ)言Pig Latin
Pig Latin可以完成排序,過(guò)濾,求和,聚組,關(guān)聯(lián)等操作,可以支持自定義函數(shù)
Pig自動(dòng)把Pig Latin映射為Map-Reduce作業(yè)上傳到集群運(yùn)行,減少用戶(hù)編寫(xiě)Java程序的苦惱
⑦Avro
數(shù)據(jù)序列化工具,由Hadoop的創(chuàng)始人Doug Cutting主持開(kāi)發(fā)
用于支持大批量數(shù)據(jù)交換的應(yīng)用。支持二進(jìn)制序列化方式,可以便捷,快速地處理大量數(shù)據(jù)
動(dòng)態(tài)語(yǔ)言友好,Avro提供的機(jī)制使動(dòng)態(tài)語(yǔ)言可以方便地處理 Avro數(shù)據(jù)。
Thrift接口
⑧Cassandra
NoSQL,分布式的Key-Value型數(shù)據(jù)庫(kù),由Facebook貢獻(xiàn)
與Hbase類(lèi)似,也是借鑒Google Bigtable的思想體系
只有順序?qū)?,沒(méi)有隨機(jī)寫(xiě)的設(shè)計(jì),滿(mǎn)足高負(fù)荷情形的性能需求
3.Hadoop生態(tài)圈流程圖