bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

HBase體系結(jié)構(gòu)是怎么樣的

這篇文章給大家分享的是有關(guān)HBase體系結(jié)構(gòu)是怎么樣的的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都做網(wǎng)站、巢湖網(wǎng)絡(luò)推廣、小程序定制開發(fā)、巢湖網(wǎng)絡(luò)營銷、巢湖企業(yè)策劃、巢湖品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供巢湖建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:vcdvsql.cn

     HBase是Apache hadoop集群中常用的非關(guān)系型數(shù)據(jù),它是一種開源的、分布式的、多版本、面向列存儲的數(shù)據(jù)庫。

     它的源碼在 https://github.com/apache/hbase 上,妥妥的開源啊。。。

     分布式是因?yàn)樗臄?shù)據(jù)最后存儲在HDFS上,所以它繼承了hadoop分布式的優(yōu)良傳統(tǒng)(不知道能否這么理解)。

    多版本就不多介紹了,版本更新快唄。。。

     面向列的存儲是它與傳統(tǒng)關(guān)系型數(shù)據(jù)庫最大的區(qū)別之一,它是根據(jù)rowKey、columnfamily、quaifer、timestamp(如果你有多版本的話)得到你最后的value值。。這個咱們以后再介紹,今天主要想寫的是hbase的體系結(jié)構(gòu)。

  HBase體系結(jié)構(gòu)是怎么樣的

  hbase的服務(wù)器體系結(jié)構(gòu)也是主從服務(wù)器架構(gòu),分為HBase Master server和HRegionServers。

  HBase Master server :主服務(wù)器,主要負(fù)責(zé)管理HRegionServers,個人理解:只是關(guān)于HRegionServer的決策權(quán)都是由它完成的。

具體的功能有:

    1.用戶對Table的增、刪、改、查。

    2。HRegionServer的負(fù)載均衡,調(diào)整HRegion的分布,像一個HRegionserver掛了,master會將掛了的HRegionserver上面的HRegion重新拿到,標(biāo)上未分配,然后再分配一個活的HRegionServer,當(dāng)然,它也得先詢問下這個HRegionServer要不要了。。

    3.在HRegion分裂后,負(fù)責(zé)新的HRegion的分配。 默認(rèn)的HRegion的大小為64M,當(dāng)超過這個大小的時候,它會自動分裂成兩個,并且這個拆分速度很快,因?yàn)樗诓鸱值臅r候先會創(chuàng)建兩個HRegion,而這兩個HRegion先會保存對原HRegion的引用,當(dāng)這兩個新的HRegion數(shù)據(jù)拆分完成后,再將此引用去掉,并刪除原HRegion。現(xiàn)在拆分完了,但是HRegion不是拆分完了就沒事干了,它得找個HRegionServer管理啊,so,又得HBase Master Server分配了,同上~~

   4.HRegionServer停機(jī)后,負(fù)責(zé)失效的HRegionServer上的HRegion分配。服務(wù)掛了,但是HRegion沒掛啊,HRegion可以說是一個存儲文件夾,一個服務(wù)掛了,找頭(hbase master server)再找一個唄,然后繼續(xù)做著保存或查詢時被提取數(shù)據(jù)的工作。

    HRegionServer的構(gòu)成:

    HRegionServer包含了一個HLog部分和HRegion部分(多個HRegion)。。

  ps:這地方可能有些異議,因?yàn)榫W(wǎng)上一些圖片顯示的都是HRegion里才包含HLog,網(wǎng)上的資料比較老,所以這里我參考《hadoop實(shí)戰(zhàn)》中的資料,它的版本是0.92,可能與現(xiàn)在的0.96版本還算比較接近的。。

    HLog部分保存著用戶操作hbase的日志(不排除也包含master管理hregion的操作,明天看一下),用戶的操作都會先記錄到HLog中,然后再保存到HRegion中。  

    而HRegion其實(shí)就是存儲的實(shí)際數(shù)據(jù)了。它包含了多個HStore。

    HStore:每一個列族都會形成一個HStore,它又由MemStore和多個HFile組成。

    MemStore駐留在內(nèi)存中,當(dāng)數(shù)據(jù)保存時,數(shù)據(jù)會先存儲到MemStore中,然后根據(jù)用戶設(shè)定的顯式刷寫或隱式刷寫模式,將數(shù)據(jù)再保存到HFile中。默認(rèn)的存儲模式是隱式存儲。這個以后寫client api的時候再介紹。。當(dāng)然,這地方還有個注意的地方,當(dāng)數(shù)據(jù)保存到MemStore,最后卻沒有保存到HFile中時,死機(jī)了。。HLog的作用來了,用戶操作的指令保存在HLog中,它會將指令執(zhí)行,再將重新保存到MemStore中,這樣就可以完成后面的操作了。。

    HFile負(fù)責(zé)的是實(shí)際數(shù)據(jù)的存儲了,它是HBase中的最小單位了。它也可以進(jìn)行拆分,也就是所謂的分區(qū),讓數(shù)據(jù)更加分散,讀取數(shù)據(jù)的時候更加效率。

    昨天未寫完的部分今天補(bǔ)上。。

    HBase的兩個主要結(jié)構(gòu)介紹完了,那么咱們現(xiàn)在就開始介紹一下它的存儲流程和讀取的流程。。

HBase體系結(jié)構(gòu)是怎么樣的

將它作為一個流程圖可能不太合適。。不過它里面所需要的東西基本都包含了。。

先說下Zookeeper的作用:

  1. 存儲了Root表的地址和HMaster的地址。存儲ROOT的地址可以更快的查詢到哪張表有數(shù)據(jù),提高運(yùn)算效率。存儲HMaster地址是為了確定有哪些HMaster。

  2. 管理著MHaster。當(dāng)HMaster失效時,它可以找到另一個HMaster,避免HMaster單點(diǎn)故障。

ROOT與.META與Region的結(jié)構(gòu)是一樣的,都是以鍵值對的形式保存數(shù)據(jù)。。

ROOT里面存儲了對應(yīng)的.META地址和開始結(jié)束信息(像1-5,說明ROOT里面存儲了5個.META的地址信息)。

.META里面同樣存儲了對應(yīng)的HRegion地址和開始結(jié)束信息。

好了,現(xiàn)在開始通過從客戶端讀取信息的角度開始分析了:

  1. client要讀取信息,先查詢下client 端的cache中是否存在數(shù)據(jù),如果存在,剛直接返回數(shù)據(jù)。如果不存在,則進(jìn)入到zookeeper,查找到里面的相應(yīng)數(shù)據(jù)存在的Root表中的地址。

  2. 通過數(shù)據(jù)存在ROOT表中地址找到.META,最終找到HRegion。找到HRegion后,它會先訪問MemStore中是否存在數(shù)據(jù),如果存在,則直接讀取。如果沒有,就再到HFile中查找數(shù)據(jù),并將數(shù)據(jù)放到MemStore。

  3. 最后數(shù)據(jù)返回到客戶端顯示。。

存儲數(shù)據(jù)流程:

    由于Hbase中默認(rèn)的刷寫方式是隱式刷寫,所以你在put()數(shù)據(jù)時,它會自動保存到HRegion上,但當(dāng)你批量處理數(shù)據(jù)時,它會將數(shù)據(jù)先保存到client端的cache中。當(dāng)你關(guān)閉隱式刷寫時,你put()的數(shù)據(jù)則會保存到client cache中,直到你調(diào)用刷寫命令時,才會保存到HRegion中。具體的命令等明天我去公司的時候貼上來。。在家沒環(huán)境。。

    在HRegion部分的存儲:要寫入的數(shù)據(jù)會先寫到HMemcache 和Hlog 中,HMemcache 建立緩存,Hlog 同步Hmemcache和Hstore 的事務(wù)日志,發(fā)起Flush Cache 時,數(shù)據(jù)持久化到Hstore 中,并清空HMemecache。

此處需要關(guān)注:

HBase 寫數(shù)據(jù),首先寫入Memcache,并計入Log中,最后寫入HStore中,如果在寫入HStore是發(fā)生系統(tǒng)異常,就可以從Log中恢復(fù)數(shù)據(jù),重新寫 入HStore中。

感謝各位的閱讀!關(guān)于“HBase體系結(jié)構(gòu)是怎么樣的”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)站名稱:HBase體系結(jié)構(gòu)是怎么樣的
文章URL:http://vcdvsql.cn/article40/gghdeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版軟件開發(fā)網(wǎng)站建設(shè)微信公眾號網(wǎng)站維護(hù)面包屑導(dǎo)航

廣告

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

外貿(mào)網(wǎng)站建設(shè)