新數(shù)倉系列:Hbase周邊生態(tài)梳理(1)

大數(shù)據(jù)前幾年各種概念爭論很多继效,NoSQL/NewSQL,CAP/BASE概念一堆堆的训措,現(xiàn)在這股熱潮被AI接過去了伪节。大數(shù)據(jù)真正落地到車聯(lián)網(wǎng),分控隙弛,各種數(shù)據(jù)分析等等具體場景架馋。

概念很高大上,搞得久了就會(huì)發(fā)現(xiàn)全闷,大部分都還是數(shù)據(jù)倉庫的衍伸叉寂,所以我們稱呼這個(gè)為“新數(shù)倉”。

數(shù)據(jù)庫存儲(chǔ)模型簡述

HBASE+Solr實(shí)現(xiàn)詳單查詢

本文簡單梳理下其中一個(gè)應(yīng)用比較廣的HBASE的生態(tài)总珠,可能不全屏鳍。具體HBASE的基本原理掃描大家可以自行百度下勘纯,另外,要系統(tǒng)掌握HBASE钓瞭,推薦看下《HBASE權(quán)威指南》驳遵。

1 Kerberos

什么是Kerberos?

Kerberos is a network authentication protocol. It is designed to provide strong authentication for client/server applications by using secret-key cryptography.

簡單地說山涡,Kerberos是一種認(rèn)證機(jī)制堤结,通過密鑰系統(tǒng)為客戶端/服務(wù)器應(yīng)用程序提供強(qiáng)大的認(rèn)證服務(wù)。

Kerberos存在的意義

在Hadoop1.0.0或者CDH3 版本之前鸭丛,并不存在安全認(rèn)證一說竞穷。默認(rèn)集群內(nèi)所有的節(jié)點(diǎn)都是可靠的,值得信賴的鳞溉。用戶與HDFS或者M(jìn)/R進(jìn)行交互時(shí)并不需要進(jìn)行驗(yàn)證瘾带。導(dǎo)致存在惡意用戶偽裝成真正的用戶或者服務(wù)器入侵到hadoop集群上,惡意的提交作業(yè)熟菲,修改JobTracker狀態(tài)看政,篡改HDFS上的數(shù)據(jù),偽裝成NameNode 或者TaskTracker接受任務(wù)等抄罕。盡管在版本0.16以后允蚣, HDFS增加了文件和目錄的權(quán)限,但是并沒有強(qiáng)認(rèn)證的保障贞绵,這些權(quán)限只能對(duì)偶然的數(shù)據(jù)丟失起保護(hù)作用厉萝。惡意的用戶可以輕易的偽裝成其他用戶來篡改權(quán)限,致使權(quán)限設(shè)置形同虛設(shè)榨崩,不能夠?qū)adoop集群起到安全保障。

在Hadoop1.0.0或者CDH3版本后章母,加入了Kerberos認(rèn)證機(jī)制母蛛。使得集群中的節(jié)點(diǎn)就是它們所宣稱的,是信賴的乳怎。Kerberos可以將認(rèn)證的密鑰在集群部署時(shí)事先放到可靠的節(jié)點(diǎn)上彩郊。集群運(yùn)行時(shí),集群內(nèi)的節(jié)點(diǎn)使用密鑰得到認(rèn)證蚪缀。只有被認(rèn)證過節(jié)點(diǎn)才能正常使用秫逝。企圖冒充的節(jié)點(diǎn)由于沒有事先得到的密鑰信息,無法與集群內(nèi)部的節(jié)點(diǎn)通信询枚。防止了惡意的使用或篡改Hadoop集群的問題违帆,確保了Hadoop集群的可靠安全。

Kerberos的工作原理

·Client向KDC發(fā)送自己的身份信息金蜀,完成認(rèn)證刷后,獲取TGT(ticket-granting ticket)

·Client利用之前獲得的TGT向KDC請(qǐng)求其他Service的Ticket的畴,從而通過其他Service的身份鑒別

① Client將之前獲得的TGT和要請(qǐng)求的服務(wù)信息發(fā)送給KDC

② KDC生成用于訪問該服務(wù)的Session Ticket發(fā)給Client。 Session Ticket使用KDC與Service之間的密鑰加密

③ Client將剛才收到的Ticket轉(zhuǎn)發(fā)到Service尝胆。由于Client不知道KDC與Service之間的密鑰丧裁,所以它無法篡改Ticket中的信息

④ Service 收到Ticket后利用它與KDC之間的密鑰將Ticket中的信息解密出來,驗(yàn)證Client的身份含衔。

2 Phoenix

Phoenix最早是saleforce的一個(gè)開源項(xiàng)目煎娇,后來成為Apache基金的頂級(jí)項(xiàng)目。

Phoenix是構(gòu)建在HBase上的一個(gè)SQL層贪染,能讓我們用標(biāo)準(zhǔn)的JDBC APIs而不是HBase客戶端APIs來創(chuàng)建表缓呛,插入數(shù)據(jù)和對(duì)HBase數(shù)據(jù)進(jìn)行查詢。

put the SQL back in NoSQL

Phoenix完全使用Java編寫抑进,作為HBase內(nèi)嵌的JDBC驅(qū)動(dòng)强经。Phoenix查詢引擎會(huì)將SQL查詢轉(zhuǎn)換為一個(gè)或多個(gè)HBase掃描,并編排執(zhí)行以生成標(biāo)準(zhǔn)的JDBC結(jié)果集寺渗。直接使用HBase API匿情、協(xié)同處理器與自定義過濾器,對(duì)于簡單查詢來說信殊,其性能量級(jí)是毫秒炬称,對(duì)于百萬級(jí)別的行數(shù)來說,其性能量級(jí)是秒涡拘。

HBase的查詢工具有很多玲躯,如:Hive、Tez鳄乏、Impala跷车、Spark SQL、Phoenix等橱野。

Phoenix通過以下方式使我們可以少寫代碼朽缴,并且性能比我們自己寫代碼更好:

·將SQL編譯成原生的HBase scans。

·確定scan關(guān)鍵字的最佳開始和結(jié)束

·讓scan并行執(zhí)行

·...

3 多維查詢kylin

Apache Kylin?是一個(gè)開源的分布式分析引擎水援,提供Hadoop之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規(guī)模數(shù)據(jù)密强,最初由eBay Inc. 開發(fā)并貢獻(xiàn)至開源社區(qū)。它能在亞秒內(nèi)查詢巨大的Hive表蜗元。

Kylin相當(dāng)于給HBASE提供了一個(gè)多為查詢的SQL能力或渤。

4 時(shí)序列數(shù)據(jù)庫OpenTSDB

OpenTSDB ,可以認(rèn)為是一個(gè)時(shí)系列數(shù)據(jù)(庫)奕扣,它基于HBase存儲(chǔ)數(shù)據(jù)薪鹦,充分發(fā)揮了HBase的分布式列存儲(chǔ)特性,支持?jǐn)?shù)百萬每秒的讀寫成畦,它的特點(diǎn)就是容易擴(kuò)展距芬,靈活的tag機(jī)制涝开。

其最主要的部件就是TSD了,這是接收數(shù)據(jù)并存儲(chǔ)到HBase處理的核心所在框仔。而帶有C(collector)標(biāo)志的Server舀武,則是數(shù)據(jù)采集源,將數(shù)據(jù)發(fā)給 TSD服務(wù)离斩。

5 地理數(shù)據(jù)處理套件GeoMesa

GeoMesa 是由locationtech開源的一套地理大數(shù)據(jù)處理工具套件银舱。其可在分布式計(jì)算系統(tǒng)上進(jìn)行大規(guī)模的地理空間查詢和分析。使用GeoMesa開源幫助用戶管理跛梗、使用來自于物聯(lián)網(wǎng)寻馏、社交媒體、手機(jī)應(yīng)用的海量的時(shí)空(spatio-temporal)數(shù)據(jù)核偿。

GeoMesa支持將海量的時(shí)空數(shù)據(jù)存儲(chǔ)到Accumulo诚欠,HBase,Google Bigtable和Cassandra數(shù)據(jù)庫中漾岳,并提供高效的索引來讀取轰绵、查詢這些數(shù)據(jù)。并支持通過指定空間條件(距離和范圍)來快速查詢尼荆。另外GeoMesa還基于Apache Kafka提供了時(shí)空數(shù)據(jù)的近實(shí)時(shí)流處理功能左腔。

通過和GIS Server(GeoServer)的整合, GeoMesa 提供了通過標(biāo)準(zhǔn)OGC接口(WMS/WFS)訪問數(shù)據(jù)的能力,通過這些接口捅儒,用戶可以方便對(duì)GeoMesa處理的數(shù)據(jù)進(jìn)行展示和分析液样,比如查詢、直方圖巧还、時(shí)間序列分析等鞭莽。

為什么選擇GeoMesa

能夠存儲(chǔ)和處理海量時(shí)空數(shù)據(jù)

支持實(shí)時(shí)性強(qiáng)、需要快速讀寫的數(shù)據(jù)

支持spark分析

支持水平擴(kuò)展

通過GeoServer提供地圖服務(wù)麸祷,并支持Common Query Language (CQL)

項(xiàng)目地址

http://www.geomesa.org/

授權(quán)

GeoMesa使用Apache License Version 2.0協(xié)議撮抓。

http://apache.org/licenses/LICENSE-2.0.html

6 圖數(shù)據(jù)庫JanusGraph

Titan在停止更新了很長一段時(shí)間后,fork出了JanusGraph繼續(xù)開源發(fā)展摇锋。JanusGraph是一個(gè)圖形數(shù)據(jù)庫引擎。JanusGraph本身專注于緊湊的圖形序列化站超、豐富的圖形數(shù)據(jù)建模和高效的查詢執(zhí)行荸恕。此外,JanusGraph利用Hadoop進(jìn)行圖形分析和批處理圖處理死相。JanusGraph實(shí)現(xiàn)了健壯的模塊化接口融求,用于數(shù)據(jù)持久性、數(shù)據(jù)索引和客戶端訪問算撮。JanusGraph的模塊化體系結(jié)構(gòu)允許它與廣泛的存儲(chǔ)生宛、索引和客戶端技術(shù)進(jìn)行互操作;它還簡化了擴(kuò)展JanusGraph以支持新用戶的過程县昂。

在JanusGraph和磁盤之間,有一個(gè)或多個(gè)存儲(chǔ)和索引適配器陷舅。JanusGraph以以下適配器為標(biāo)準(zhǔn)倒彰,但是JanusGraph的模塊化體系結(jié)構(gòu)支持第三方適配器

JanusGraph 體系結(jié)構(gòu)

1、JanusGraph的應(yīng)用分為批處理(OLAP)和流式計(jì)算(OLTP)

2莱睁、批處理(OLAP)待讳,常用在大數(shù)據(jù)平臺(tái)使用Spark、Giraph仰剿、Hadoop工具使用

3创淡、流式計(jì)算(OLTP),使用TinkerPop中的Traversal(遍歷)工具使用

4南吮、數(shù)據(jù)可以存儲(chǔ)到Cassandra琳彩、Hbase、BerkeleyDB中

5部凑、外部查詢索引存儲(chǔ)到ElasticSearch露乏、Solr、Lucene中

寫在最后:本文主要簡單總結(jié)下Hbase周邊配合生態(tài)砚尽,提供SQL接口施无,多維查詢能力,以及用于車聯(lián)網(wǎng)必孤,時(shí)序猾骡,地理數(shù)據(jù)處理等。

轉(zhuǎn)自《大數(shù)據(jù)和云計(jì)算技術(shù)》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末敷搪,一起剝皮案震驚了整個(gè)濱河市兴想,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赡勘,老刑警劉巖嫂便,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異闸与,居然都是意外死亡毙替,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門践樱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厂画,“玉大人,你說我怎么就攤上這事拷邢「ぴ海” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長忽洛。 經(jīng)常有香客問我腻惠,道長,這世上最難降的妖魔是什么欲虚? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任集灌,我火速辦了婚禮,結(jié)果婚禮上苍在,老公的妹妹穿的比我還像新娘绝页。我一直安慰自己,他們只是感情好寂恬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布续誉。 她就那樣靜靜地躺著,像睡著了一般初肉。 火紅的嫁衣襯著肌膚如雪酷鸦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天牙咏,我揣著相機(jī)與錄音臼隔,去河邊找鬼。 笑死妄壶,一個(gè)胖子當(dāng)著我的面吹牛摔握,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播丁寄,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼氨淌,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了伊磺?” 一聲冷哼從身側(cè)響起盛正,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎屑埋,沒想到半個(gè)月后豪筝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摘能,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年续崖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片团搞。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡袜刷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出莺丑,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布梢莽,位于F島的核電站萧豆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏昏名。R本人自食惡果不足惜涮雷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望轻局。 院中可真熱鬧洪鸭,春花似錦、人聲如沸仑扑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镇饮。三九已至蜓竹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間储藐,已是汗流浹背俱济。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钙勃,地道東北人蛛碌。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像辖源,于是被迫代替她去往敵國和親蔚携。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348