欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

HBase框架學(xué)習(xí)之路-創(chuàng)新互聯(lián)

1 背景知識(shí)

1.1 解決問題

解決HDFS不支持單條記錄的快速查找和更新的問題。

肇州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

1.2 適用情況

  • 存在億萬條記錄的數(shù)據(jù)庫,只有千萬或者百萬條記錄使用RDBMS更加合適

  • 確保你的應(yīng)用不需要使用RDBMS的高級(jí)特性(第二索引,事務(wù)機(jī)制,高級(jí)查詢語言等)

  • 足夠的硬件配置,即節(jié)點(diǎn)數(shù),HDFS在少于5個(gè)節(jié)點(diǎn)時(shí)并不會(huì)表現(xiàn)得很好,HBase也存在相同情況。

2 設(shè)計(jì)理念

2.1 概述

2.1.1 簡介

  • 使用Java語言開發(fā)的NoSQL類型的分布式數(shù)據(jù)庫

  • 不支持RDBMS的一些高級(jí)特性,如事務(wù)機(jī)制,第二索引,高級(jí)查詢語言等

  • 支持線性和模塊化擴(kuò)展,可以通過在商用機(jī)器上增加RegionServer來線性提高性能

2.1.2 HBase特性:

  • 強(qiáng)讀寫一致性:適合高速計(jì)數(shù)聚合操作

  • 自動(dòng)切分?jǐn)?shù)據(jù):分布式存儲(chǔ)數(shù)據(jù),隨著數(shù)據(jù)增長進(jìn)行自動(dòng)切片

  • RegionServer自動(dòng)失效備援

  • 與HDFS集成

  • 支持MapReduce執(zhí)行大規(guī)模并行操作

  • 提供Java Client API

  • 提供Thrift/REST API

  • 針對(duì)大容量查詢優(yōu)化的塊緩存和Bloom Fliter

  • 可視化管理界面

2.1.3 劣勢(shì)

  • WAL的重新執(zhí)行速度緩慢

  • 故障恢復(fù)緩慢且復(fù)雜

  • 主壓縮會(huì)引起 I/O風(fēng)暴(大量的I/O操作)

2.2 設(shè)計(jì)架構(gòu)

2.2.1 基礎(chǔ)概念

概念中文解釋備注舉例
Table由多行組成...
Row由一個(gè)Key和一個(gè)或者多列組成

Column由列族和列限定符組成列族:列限定符 ;行與行之間的列可以相差很多
Column Family列族物理上存儲(chǔ)多個(gè)列;為提高性能設(shè)計(jì)的;表格創(chuàng)建時(shí)需要置頂content
Column Qualifier列限定符列族中數(shù)據(jù)的索引表格創(chuàng)建時(shí)不需要指定,可以在任何時(shí)候添加content:html
Cell單元由行、列族、列限定符、值和代表版本的時(shí)間戳組成

TimeStamp時(shí)間戳用來表示數(shù)據(jù)的版本可以使用系統(tǒng)時(shí)間也可以自己指定

2.2.1.2 例子本例子取自官方文檔

Row KeyTime StampColumnFamily contentsColumnFamily anchorColumnFamily people
"com.cnn.www"t9
anchor:cnnsi.com = "CNN"
"com.cnn.www"t8
anchor:my.look.ca = "CNN.com"
"com.cnn.www"t6contents:html = "…

"com.cnn.www"t5contents:html = "…"

"com.cnn.www"t3contents:html = "…

com.example.wwwt5contents:html: "..."
people:author: "John Doe"

說明

  1. 表格格式不是唯一和最精確的表達(dá)方式,還可以用Json格式來表達(dá)

  2. 表格中的空白單元不會(huì)占用物理存儲(chǔ)空間,只是概念上存在

2.2.1.3 操作

操作API注意點(diǎn)與版本的關(guān)系
GetTable.get返回指定行的屬性;Scan的第一行若沒有指定版本,則返回版本值大(但可能不是最新的)的數(shù)據(jù);可以通過設(shè)置MaxVersion的值修改返回的數(shù)據(jù)條數(shù)
ScanTable.scan返回滿足條件的多行同上
PutTable.putKey存在則更新Key不在則插入;通過 Table.put (寫緩存) 或者Table.batch (沒有寫緩存)默認(rèn)使用系統(tǒng)時(shí)間;只要key、column和version相同就可以實(shí)現(xiàn)覆蓋;插入時(shí)可以指定版本
DeleteTable.delete1.刪除指定列;2.刪除列的所有版本;3.刪除特定列族的所有列1. 刪除操作不會(huì)立刻執(zhí)行,而是給該數(shù)據(jù)設(shè)置墓碑標(biāo)簽,在空間清理的時(shí)候再執(zhí)行死亡數(shù)據(jù)和墓碑的清除工作;2.通過在 hbase-site.xml.中hbase.hstore.time.to.purge.deletes屬性來設(shè)置TTL(生存時(shí)間)

說明

  1. 版本數(shù)的大值和最小值是可以指定的,并且會(huì)影響操作

  2. 版本(時(shí)間戳)是用來管控?cái)?shù)據(jù)的存活時(shí)間的,最好不要手動(dòng)設(shè)置

2.2.1.4 局限

1)Delete操作會(huì)影響Put操作:原因在于Delete操作并不是立刻執(zhí)行,而是給死亡數(shù)據(jù)設(shè)置墓碑標(biāo)簽,那么如果當(dāng)你執(zhí)行了一個(gè)Delete版本低于等于T的操作,而后有插入Put了一個(gè)版本為T的數(shù)據(jù),此時(shí)新Put的數(shù)據(jù)也會(huì)被打上標(biāo)簽,那么會(huì)在系統(tǒng)的下一次清理工作中將打上標(biāo)簽的數(shù)據(jù)全部清理掉,執(zhí)行查詢時(shí)則會(huì)獲取不到新Put的數(shù)據(jù),如果你不手動(dòng)設(shè)置版本的話,版本采用系統(tǒng)默認(rèn)時(shí)間,則不會(huì)出現(xiàn)這種情況。

2)清理工作會(huì)影響查詢:創(chuàng)建三個(gè)版本為t1,t2,t3的單元,并且設(shè)置大版本數(shù)為2.所以當(dāng)我們查詢所有版本時(shí),只會(huì)返回t2和t3。但是當(dāng)你刪除版本t2和t3的時(shí)候,版本t1會(huì)重新出現(xiàn)。顯然,一旦重要精簡工作運(yùn)行之后,這樣的行為就不會(huì)再出現(xiàn)。

查看更多關(guān)于數(shù)據(jù)模型的信息

2.2.2 架構(gòu)

2.2.2.1 架構(gòu)特點(diǎn)

1)主從架構(gòu)
2)有三個(gè)組件:

組件名稱組件主要功能
HMaster負(fù)責(zé)Region的分配和DDL操作(創(chuàng)建,刪除表)
HRegionServerRegionServer負(fù)責(zé)數(shù)據(jù)的讀寫;和客戶端通訊
ZooKeeper維持集群的活動(dòng)狀態(tài)

3)底層儲(chǔ)存是HDFS

2.2.2.2 組件

hbase:meta:所有region的信息

1)結(jié)構(gòu):

Key

  • 格式:([table],[region start key],[region id])

Values

  • info:regioninfo (序列化HRegionInfo實(shí)例)

  • info:server (包含此Region的RegionServer的server:端口)

  • info:serverstartcode (包含此Region的RegionServer的啟動(dòng)時(shí)間)

2)存儲(chǔ)位置:ZooKeeper中

HMaster:控制者

  • 分配Region:啟動(dòng)時(shí)分配,失效RegionServer上Region的再分配,Region切分時(shí)分配

  • 監(jiān)控集群中的所有RegionServer,實(shí)現(xiàn)其負(fù)載均衡

  • DDL:Data Definition Language(表格的創(chuàng)建、刪除和更新-列族的更新)

  • 管理namespace和table的元數(shù)據(jù)

  • 權(quán)限管理(ACL)

  • HDFS上的垃圾文件回收

HRegionServer:HBase實(shí)際讀寫者

  • 響應(yīng)client的讀寫請(qǐng)求,進(jìn)行I/O操作(直接繞過HMaster)

  • 與HDFS交互,管理table數(shù)據(jù)

  • 當(dāng)Region的大小到達(dá)閥值時(shí)切分Region

本小節(jié)可參考Region Server詳解

ZooKeeper:協(xié)調(diào)者

  • 保證集群中有且只有一個(gè)HMaster為Active

  • 存儲(chǔ)hbase:meta,即所有Region的位置信息

  • 存儲(chǔ)HBase中表格的元數(shù)據(jù)信息

  • 監(jiān)控RegionServer狀態(tài),將RS的上下線情況匯報(bào)給HMaster

  • ZooKeeper集群本身使用一致性協(xié)議(PAXOS協(xié)議)保證每個(gè)節(jié)點(diǎn)狀態(tài)的一致性

Region:Region是HBase數(shù)據(jù)存儲(chǔ)和管理的基本單位

本小節(jié)可參考Region詳解

2.3 相關(guān)流程

2.3.1 首次讀寫流程

本小節(jié)可參考Region Server詳解中的首次讀寫流程

2.3.2 寫流程

本小節(jié)可參考Region Server詳解中的寫流程

2.3.2 讀流程

本小節(jié)可參考Region Server詳解中的讀流程

2.4 相關(guān)機(jī)制

2.4.1 Compaction機(jī)制(壓縮合并)

2.4.1.1 次壓縮

本小節(jié)可參考Region Server詳解中的次壓縮部分

2.4.1.2 主壓縮

本小節(jié)可參考Region Server詳解中的主壓縮部分

2.4.2 WAL Replay機(jī)制

本小節(jié)可參考Region Server詳解中的WAL Replay

2.5 版本更新內(nèi)容

2.5.1 .META表 =>hbase:meta

2.5.1.1 -ROOT-和.META

在0.96.x之前是存在-ROOT-和.META兩個(gè)表格來維持region的元數(shù)據(jù)

1)結(jié)構(gòu):

Key

.META. region key (.META.,,1)

Values

 info:regioninfo (hbase:meta的序列化實(shí)例)
 info:server (存儲(chǔ) hbase:meta的RegionServer的server:port)
 info:serverstartcode (存儲(chǔ) hbase:meta的RegionServer的啟動(dòng)時(shí)間)

2)讀取region位置信息的流程

  1. 從ZooKeeper中讀取-ROOT- Table所在HRegionServer

  2. 從該HRegionServer中根據(jù)請(qǐng)求的TableName,RowKey讀取.META. Table所在HRegionServer

  3. 從該HRegionServer中讀取.META. Table的內(nèi)容而獲取此次請(qǐng)求需要訪問的HRegion所在的位置

  4. 訪問該HRegionSever獲取請(qǐng)求的數(shù)據(jù)

2.5.1.2 hbase:meta

本小節(jié)可參考2.2.2.2 組件中的hbase:meta和2.3 相關(guān)流程中的首次讀寫流程進(jìn)行比較

2.5.1.3 升級(jí)的目的

1)0.96.x版本之前是參考Goole的BigTable設(shè)計(jì)的,從讀取數(shù)據(jù)請(qǐng)求發(fā)起到真正讀取到數(shù)據(jù)要經(jīng)過4個(gè)步驟,Google設(shè)計(jì)BigTable的目的在于它的數(shù)據(jù)量巨大,多層的schema結(jié)構(gòu)能夠存儲(chǔ)更多的Region,但是隨著而來的就是訪問性能的下降。
2)一般公司的數(shù)據(jù)量沒有Google那么大,所以去掉-ROOT-表,留下.META(hbase:meta)表,提高Region的大小,不僅可以滿足存儲(chǔ)需求,而且訪問性能得到提高。

2.5.2 HLog =>WAL

  • 0.94.x 之前HBase中的WAL實(shí)現(xiàn)稱為HLog,存儲(chǔ)在/hbase/.logs/目錄下

  • 0.94.x之后更名為WAL,存儲(chǔ)在/hbase/WALs/目錄下

2.6 跟其他框架的聯(lián)系

待續(xù)...

2.7 性能調(diào)優(yōu)

待續(xù)...

2.8 高級(jí)特性

待續(xù)...

3 項(xiàng)目實(shí)戰(zhàn)

3.1 入門指南

3.1.1 環(huán)境搭建

本小節(jié)可參考HBase部署入門指南

3.1.2 入門程序

本小節(jié)可參考HBase Shell 練習(xí)、HBase Java API 練習(xí)、使用MapReduce操作HBase

3.2 技術(shù)難點(diǎn)

待續(xù)...

3.3 開發(fā)中遇到的問題

待續(xù)...

3.4 應(yīng)用

3.4.1 OpenTSDB開發(fā)

待續(xù)...

4 聲明

待續(xù)部分將會(huì)后期不定期更新,敬請(qǐng)期待。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站題目:HBase框架學(xué)習(xí)之路-創(chuàng)新互聯(lián)
本文來源:http://aaarwkj.com/article32/dohesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版網(wǎng)頁設(shè)計(jì)公司、電子商務(wù)、域名注冊(cè)、App開發(fā)軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
精品少妇高潮蜜臀av| 国产国产精品国产自在午夜| 我想看日韩一级黄色片| 国产精品三级玖玖玖电影| 国产免费av一区二区在线观看 | 蜜臀视频在线观看免费| 十八禁在线观看点击进入| 久久精品国产亚洲av清纯| 激情五月开心五月麻豆| 偷拍视频一区二区三区| 欧美亚日韩精品视频| 丰满少妇一区二区三区在线观看| 亚洲精品成人一区二区| 亚洲欧美日本国产一区| 亚洲欧美日韩精品二区| 欧美一区二区三区蜜桃| 日韩一二三区免费不卡视频| 国产福利成人一区二区| 中文字幕四虎在线观看| 欧美日韩国产免费,日日骚| 未满十八禁止在线观看av| 成人午夜福利影院在线| 丰满人妻被猛烈进入中| 国产黄片免费看久久久| 强乱人妻中文字幕日本| 91九色中文视频在线观看| 6080yy精品一区二区三区| 中午字幕久久亚洲精品| 日韩女同性一区二区三区| 亚洲天堂欧美天堂淫人天堂| 午夜福利片在线观看视频| 欧美丰满老妇性猛交| 精品日韩电影在线观看| 中文字幕日韩午夜精品| 熟女人妻视频一区二区| 人妻勾引中文字幕在线视频| 国产精品久久av高潮呻吟| 中文字幕av免费专区| 综合久久99中文综合久久| 夫妻性生活一级片视频| 国产欧美日本综合一区|