當前位置:首頁 » 存儲配置 » hbase存儲架構圖

hbase存儲架構圖

發布時間: 2022-09-07 14:29:02

⑴ HBase數據結構是什麼

RowKey

與nosql資料庫們一樣,RowKey是用來檢索記錄的主鍵。訪問HBASE table中的行,只有三種方式:

  • 通過單個RowKey訪問(get)

  • 通過RowKey的range(正則)(like)

  • 全表掃描(scan)
    RowKey行鍵 (RowKey)可以是任意字元串(最大長度是64KB,實際應用中長度一般為 10-100bytes),在HBASE內部,RowKey保存為位元組數組。存儲時,數據按照RowKey的字典序(byte order)排序存儲。設計RowKey時,要充分排序存儲這個特性,將經常一起讀取的行存儲放到一起。(位置相關性)

  • Column Family

    列族:HBASE表中的每個列,都歸屬於某個列族。列族是表的schema的一部 分(而列不是),必須在使用表之前定義。列名都以列族作為前綴。例如 courses:history,courses:math都屬於courses 這個列族。

    Cell

    由{rowkey, column Family:columu, version} 唯一確定的單元。cell中的數據是沒有類型的,全部是位元組碼形式存貯。
    關鍵字:無類型、位元組碼

    Time Stamp

    HBASE 中通過rowkey和columns確定的為一個存貯單元稱為cell。每個 cell都保存 著同一份數據的多個版本。版本通過時間戳來索引。時間戳的類型是 64位整型。時間戳可以由HBASE(在數據寫入時自動 )賦值,此時時間戳是精確到毫秒 的當前系統時間。時間戳也可以由客戶顯式賦值。如果應用程序要避免數據版 本沖突,就必須自己生成具有唯一性的時間戳。每個 cell中,不同版本的數據按照時間倒序排序,即最新的數據排在最前面。
    為了避免數據存在過多版本造成的的管理 (包括存貯和索引)負擔,HBASE提供 了兩種數據版本回收方式。一是保存數據的最後n個版本,二是保存最近一段 時間內的版本(比如最近七天)。用戶可以針對每個列族進行設置。

    命名空間

    命名空間的結構:

  • Table:表,所有的表都是命名空間的成員,即表必屬於某個命名空間,如果沒有指定,則在default默認的命名空間中。

  • RegionServer group:一個命名空間包含了默認的RegionServer Group。

  • Permission:許可權,命名空間能夠讓我們來定義訪問控制列表ACL(Access Control List)。例如,創建表,讀取表,刪除,更新等等操作。

  • Quota:限額,可以強制一個命名空間可包含的region的數量。

⑵ hbase是如何做到並發寫的和隨機寫的

閱讀數:9381
Hbase概述
hbase是一個構建在HDFS上的分布式列存儲系統。HBase是Apache Hadoop生態系統中的重要 一員,主要用於海量結構化數據存儲。從邏輯上講,HBase將數據按照表、行和列進行存儲。

如圖所示,Hbase構建在HDFS之上,hadoop之下。其內部管理的文件全部存儲在HDFS中。與HDFS相比兩者都具有良好的容錯性和擴展性,都可以 擴展到成百上千個節點。但HDFS適合批處理場景,不支持數據隨機查找,不適合增量數據處理且不支持數據更新。

Hbase是列存儲的非關系資料庫。傳統資料庫MySQL等,數據是按行存儲的。其沒有索引的查詢將消耗大量I/O 並且建立索引和物化視圖需要花費大量時間和資源。因此,為了滿足面向查詢的需求,資料庫必須被大量膨脹才能滿 足性能要求。
Hbase數據是按列存儲-每一列單獨存放。列存儲的優點是數據即是索引。訪問查詢涉及的列-大量降低系統I/O 。並且每一列由一個線索來處理,可以實現查詢的並發處理。基於Hbase數據類型一致性,可以實現資料庫的高效壓縮
HBase數據模型

HBase是基於Google BigTable模型開發的, 典型的key/value系統。一個Row key對應很多Column Family,Column Family中有很多Column。其中,保存了不同時間戳的數據。

如圖所示,Rowkey cutting對應列簇info和roles。其中,info中有key-value對hight-9ft,state-CA。更清晰的結構如下圖所:
Hbase的所有操作均是基於rowkey的。支持CRUD(Create、Read、Update和Delete)和 Scan操作。 包括單行操作Put 、Get、Scan。多行操作包括Scan和MultiPut。但沒有內置join操作,可使用MapRece解決。

HBase物理模型

Hbase的Table中的所有行都按照row key的字典序排列。Table 在行的方向上分割為多個Region。、Region按大小分割的,每個表開始只有一個region,隨 著數據增多,region不斷增大,當增大到一個閥值的時候, region就會等分會兩個新的region,之後會有越來越多的 region。
Region是HBase中分布式存儲和負載均衡的最小單元。 不同Region分布到不同RegionServer上。

Region雖然是分布式存儲的最小單元,但並不是存儲 的最小單元。Region由一個或者多個Store組成,每個store保存一個 columns family。每個Strore又由一個memStore和0至多個StoreFile組成。memStore存儲在內存中,StoreFile存儲在HDFS上。
HBase基本架構

HBase構建在HDFS之上,其組件包括 Client、zookeeper、HDFS、Hmaster以及HRegionServer。Client包含訪問HBase的介面,並維護cache來加快對HBase的訪問。Zookeeper用來保證任何時候,集群中只有一個master,存貯所有Region的定址入口以及實時監控Region server的上線和下線信息。並實時通知給Master存儲HBase的schema和table元數據。HMaster負責為Region server分配region和Region server的負載均衡。如果發現失效的Region server並重新分配其上的region。同時,管理用戶對table的增刪改查操作。Region Server 負責維護region,處理對這些region的IO請求並且切分在運行過程中變得過大的region。

HBase 依賴ZooKeeper,默認情況下,HBase 管理ZooKeeper 實例。比如, 啟動或者停止ZooKeeper。Master與RegionServers 啟動時會向ZooKeeper注冊。因此,Zookeeper的引入使得 Master不再是單點故障。

Client每次寫資料庫之前,都會首先血Hlog日誌。記錄寫操作。如果不做日誌記錄,一旦發生故障,操作將不可恢復。HMaster一旦故障,Zookeeper將重新選擇一個新的Master 。無Master過程中,數據讀取仍照常進行。但是,無master過程中,region切分、負載均衡等無法進行。RegionServer出現故障的處理原理是定時向Zookeeper匯報心跳,如果一旦時 間內未出現心跳HMaster將該RegionServer上的Region重新分配到其他RegionServer上。失效伺服器上「預寫」日誌由主伺服器進行分割並派送給新的 RegionServer 。Zookeeper是一個可靠地服務,一般配置3或5個Zookeeper實例。
尋找RegionServer定位的順序是ZooKeeper --ROOT-(單Region) -.META. -用戶表 。如上圖所示。-ROOT- 表包含.META.表所在的region列表,該表只會有一 個Region。 Zookeeper中記錄了-ROOT-表的location。 .META. 表包含所有的用戶空間region列表,以及 RegionServer的伺服器地址
HBase應用舉例

Hbase適合需對數據進行隨機讀操作或者隨機寫操作、大數據上高並發操作,比如每秒對PB級數據進行上千次操作以及讀寫訪問均是非常簡單的操作。
淘寶指數是Hbase在淘寶的一個典型應用。交易歷史紀錄查詢很適合用Hbase作為底層資料庫。

⑶ 大數據下的地質資料信息存儲架構設計

頡貴琴 胡曉琴

(甘肅省國土資源信息中心)

摘要 為推進我國地質資料信息服務集群化產業化工作,更大更好地發揮地質資料信息的價值,本文針對我國現有的地質資料信息集群化共享服務平台存在的缺陷和問題,基於現有系統的存儲架構,設計了一種大數據下的地質資料信息存儲架構,以便於我國地質資料信息服務集群化產業化工作能夠適應大數據時代的數據存儲。

關鍵詞 大數據 地質資料 存儲 NoSQL 雙資料庫

0 引言

新中國成立60多年來,我國形成了海量的地質資料信息,為國民經濟和社會發展提供了重要支撐。但在地質資料管理方面長期存在資料信息分散、綜合研究不夠、數字化信息化程度不高、服務渠道不暢、服務能力不強等問題,使地質資料信息的巨大潛在價值未能得到充分發揮。為進一步提高地質工作服務國民經濟和社會發展的能力,充分發揮地質資料信息的服務功能,擴大服務領域,國土資源部根據國內外地質工作的先進經驗,做出了全面推進地質資料信息服務集群化產業化工作的部署。

目前,全國各省地質資料館都在有條不紊地對本省成果、原始和實物地質資料進行清理,並對其中重要地質資料進行數字化和存儲工作。然而,由於我國地質資源豐富,經過幾十年的積累,已經形成了海量的地質資料,數據量早已經超過了幾百太位元組(TB)。在進行地質資料信息服務集群化工作中,隨著共享數據量的不斷增大,傳統的數據存儲方式和管理系統必然會展現出存儲和檢索方面的不足以及系統管理方面的缺陷。為了解決該問題,需要設計更加先進的數據存儲架構來實現海量地質資料的存儲。

而大數據(Big Data)作為近年來在雲計算領域中出現的一種新型數據,科技工作者在不斷的研究中,設計了適合大數據存儲管理的非關系型資料庫NoSQL進行大數據的存儲和管理。本文將針對我國現有的地質資料信息集群化共享服務平台存在的缺陷和問題,利用大數據存儲管理模式的思想,提出一種海量地質資料存儲架構,改進現有系統存儲架構,以便於我國全面推進地質資料信息服務集群化產業化工作。

1 工作現狀

1.1 國內外地質資料信息的存儲現狀

在美國,主要有兩大地質資料公共服務平台,分別是地球科學信息中心(ESIC)、地球資源觀測和科學中心(EROS),其目的是通過為社會和政府提供更加便利、快速的地質信息服務。20世紀90年代初,澳大利亞出台了國家地球科學填圖協議,採用先進的科學方法和技術進行數據存儲,從而形成了第二代澳大利亞陸地地質圖。

目前,我國地質資料信息服務集群化產業化工作剛剛起步,雖然國土資源部信息中心已經開發了地質資料信息集群化共享服務平台,並倡導各地方用戶使用該系統。但由於各個地方早期的工作背景不一致,因此各地方所使用的存儲系統也不盡相同,主要有Access、SQL Server、Oracle、MySQL等系統。本文以國土資源部信息中心開發的地質資料信息集群化共享服務平台的存儲系統MySQL為例說明。該系統是基於關系資料庫管理系統MySQL的一套分布式存儲檢索系統。該系統的部署使得我國地質資料信息服務集群化產業化工作取得了重大進展,同時也為我國建立標准統一的地質資料信息共享服務平台和互聯互通的網路服務體系奠定了堅實的基礎。然而,該系統的研發並沒有考慮到地質資料信息進一步集群化以及在未來地質資料信息進入大數據時代的信息共享和存儲管理問題,也沒有給出明確的解決方案。

1.2 大數據的存儲架構介紹

大數據是近年在雲計算領域中出現的一種新型數據,具有數據量大、數據結構不固定、類型多樣、查詢分析復雜等特點。傳統關系型資料庫管理系統在數據存儲規模、檢索效率等方面已不再適合大數據存儲。NoSQL(Not Only SQL)是與關系資料庫相對的一類資料庫的總稱。這些資料庫放棄了對關系資料庫的支持,轉而採用靈活的、分布式的數據存儲方式管理數據,從而可以滿足大數據存儲和處理的需求。NoSQL基於非關系型數據存儲的設計理念,以鍵值對進行存儲,採用的數據字的結構不固定,每一個元組可以有不一樣的欄位,且每個元組可以根據自己的需要增加一些自己的鍵值對,可以減少一些檢索時間和存儲空間。目前,應用廣泛的 NoSQL 資料庫有 Google BigTable、HBase、MongoDB、Neo4 j、Infinite Graph等。

2 大數據下的地質資料信息存儲架構設計

根據國土資源部做出的全面推進地質資料信息服務集群化產業化工作的部署,國土資源部倡導全國地質資料館使用國土資源部信息中心開發的地質資料信息集群化共享服務平台,實現地質資料信息的存儲和共享。該系統採用了資料庫管理系統MySQL作為數據存儲系統。

為了與現有系統和現有的工作進行對接,並為將來地質資料進入大數據時代後的存儲工作做准備,本文設計了一種能用於海量地質資料信息存儲並且兼容MySQL的分布式的數據存儲架構(圖1)。

整個系統可以根據不同的用戶等級分為不同的用戶管理層,由於圖幅限制,在圖1 中僅僅展示了3級:國家級管理層(即共享服務平台用戶層)、省級管理層以及市級管理層(可根據實際需要延伸至縣級)。

每級管理層的每個用戶可以單獨管理一個伺服器。如國土資源部信息中心可以單獨管理一個伺服器;甘肅省國土資源信息中心可以單獨管理一個伺服器,陝西省國土資源信息中心可以單獨管理一個伺服器;甘肅的若干個市級國土資源局可以根據需要分別管理各自的伺服器。

在伺服器上分別安裝兩套資料庫管理系統,一套是原有的MySQL資料庫管理系統,另一套是為大數據存儲而配備的NoSQL型資料庫管理系統。在伺服器上還專門開發一個資料庫管理器中間件,用於進行用戶層和資料庫的通信以及兩套資料庫之間的通信。

由於各個管理層都各自維護自己的資料庫和數據。當用戶需要進行數據存儲時,他所影響的資料庫僅僅是本地資料庫,存儲效率較高;當用戶需要從多個資料庫讀取數據時,頂層的共享服務平台會根據用戶需求進行任務分解,將任務分發給下層的管理層進行資料庫讀取,由於各個資料庫並行讀取,從而提高了資料庫讀取效率。

圖1 大數據下的地質資料信息存儲架構框圖

2.1 用戶管理層

用戶管理層根據許可權范圍,分為多層(本文以3層為例)。

位於頂層的國家級管理層(共享服務平台用戶層)負責用戶訪問許可權的分配、與其直接關聯的資料庫的訪問、下級管理層任務的分配等工作。

用戶訪問許可權的分配是指為訪問本共享服務平台的個人用戶和單位用戶分配數據的使用許可權、安全性的設計等。

與其直接關聯的資料庫訪問是指直接存儲在其本地資料庫上的數據的訪問。在該資料庫中不僅要存儲所需要的地質資料,還要存儲注冊用戶信息等數據。

下級管理層任務分配是指如果用戶需要訪問多個下層資料庫,用戶只需要輸入查詢這幾個下層資料庫的命令,而如何查找下層資料庫則由該功能來完成。例如某用戶要查找甘肅、陝西、上海、北京的鐵礦分布圖,則用戶只需要輸入這幾個地方及鐵礦等查詢條件,系統將自動把各個省的資料庫查詢任務分派到下級管理層。

同理,位於下層的省級管理層和市級管理層除了沒有用戶訪問許可權功能外,其餘功能與國家級管理層是相同的。各層之間的資料庫通過互聯網相互連接成分布式的資料庫系統。

2.2 MySQL和NoSQL的融合

MySQL是關系型資料庫,它支持SQL查詢語言,而NoSQL是非關系型資料庫,它不支持SQL查詢語言。用戶要想透明地訪問這兩套資料庫,必須要設計資料庫管理器中間件,作為用戶訪問資料庫的統一入口和兩套資料庫管理系統的通信平台。本文所設計的資料庫管理器簡單模型如圖2所示。

圖2 資料庫管理器模型

伺服器管理器通過用戶程序介面與應用程序進行通訊,通過MySQL資料庫介面與MySQL伺服器通訊,通過NoSQL資料庫介面與NoSQL資料庫介面通訊。當應用程序介面接收到一條資料庫訪問命令之後,交由資料庫訪問命令解析器進行命令解析,從而形成MySQL訪問命令或者NoSQL訪問命令,通過相應的資料庫介面訪問資料庫;資料庫返回訪問結果後經過匯總,由應用程序介面返回給應用程序。

兩套資料庫可以通過雙資料庫通信協議進行相互的通信和互訪。此通信協議的建立便於地質工作人員將已經存入MySQL資料庫的不適合結構化存儲的數據轉存到NoSQL資料庫中,從而便於系統的升級和優化。

2.3 系統的存儲和檢索模式

在本存儲框架設計中,系統採用分布式網路存儲模式,即採用可擴展的存儲結構,利用分散在全國各地的多台獨立的伺服器進行數據存儲。這種方式不僅分擔了伺服器的存儲壓力,提高了系統的可靠性和可用性,還易於進行系統擴展。另外,由於地質資料信息存儲的特殊性,各地方用戶的數據存儲工作基本都是在本地伺服器進行,很少通過網路進行遠程存儲,所以數據存儲效率較高。

在一台資料庫伺服器上安裝有MySQL和NoSQL型兩套資料庫管理系統,分別用於存儲地質資料信息中的結構化數據和非結構化數據。其中,NoSQL型資料庫作為主資料庫,用於存儲一部分結構化數據和全部的非結構化數據;而MySQL資料庫作為輔助資料庫,用於存儲一部分結構化的數據,以及舊系統中已經存儲的數據。使用兩套資料庫不僅可以存儲結構化數據而且還可以適用於大數據時代地質資料信息的存儲,因此系統具有很好的適應性和靈活性。

2.4 安全性設計

地質資料信息是國家的機密,地質工作人員必須要保證它的安全。地質資料信息進入數字化時代之後,地質資料常常在計算機以及網路上進行傳輸,地質資料信息的安全傳輸和保存更是地質工作人員必須關注和解決的問題。在本存儲架構的設計中設計的安全問題主要有資料庫存儲安全、數據傳輸安全、數據訪問安全等問題。

資料庫設計時採用多邊安全模型和多級安全模型阻止資料庫中信息和數據的泄露來提高資料庫的安全性能,以保障地質信息在資料庫中的存儲安全;當用戶登錄系統訪問資料庫時,必須進行用戶甄別和實名認證,這主要是對用戶的身份進行有效的識別,防止非法用戶訪問資料庫;在對地質資料進行網路傳輸時,應該首先將數據進行加密,然後再進行網路傳輸,以防止地質信息在傳輸過程中被竊取。

3 結語

提高地質資料數字化信息化水平,是國外地質工作強國的普遍做法。為推進我國地質資料信息服務集群化產業化工作,本文針對我國現有的地質資料信息集群化共享服務平台存在的缺陷和問題,利用大數據存儲管理模式的思想,基於現有系統的存儲架構,設計了一種大數據下的地質資料信息存儲架構,以便於我國地質資料信息服務集群化產業化工作能夠適應大數據時代的數據存儲。該存儲架構的設計只涉及了簡單模型的構建,具體詳細復雜的功能設計和軟體實現還需要在進一步的研究工作中完成。

參考文獻

[1]吳金朋.一種大數據存儲模型的研究與應用[D].北京:北京郵電大學計算機學院,2012.

[2]吳廣君,王樹鵬,陳明,等.海量結構化數據存儲檢索系統[J].計算機研究與發展,2012,49(Suppl):1~5.

[3]黃

,易曉東,李姍姍,等.面向高性能計算機的海量數據處理平台實現與評測[J].計算機研究與發展,2012,49(Suppl):357~361.

⑷ HBase是什麼呢,都有哪些特點呢

Hbase是一種NoSQL資料庫,這意味著它不像傳統的RDBMS資料庫那樣支持SQL作為查詢語言。Hbase是一種分布式存儲的資料庫,技術上來講,它更像是分布式存儲而不是分布式資料庫,它缺少很多RDBMS系統的特性,比如列類型,輔助索引,觸發器,和高級查詢語言等待

那Hbase有什麼特性呢?如下:

  • 強讀寫一致,但是不是「最終一致性」的數據存儲,這使得它非常適合高速的計算聚合

  • 自動分片,通過Region分散在集群中,當行數增長的時候,Region也會自動的切分和再分配

  • 自動的故障轉移

  • Hadoop/HDFS集成,和HDFS開箱即用,不用太麻煩的銜接

  • 豐富的「簡潔,高效」API,Thrift/REST API,Java API

  • 緩存,布隆過濾器,可以高效的列查詢優化

  • 操作管理,Hbase提供了內置的web界面來操作,還可以監控JMX指標

  • 什麼時候用Hbase?

    Hbase不適合解決所有的問題:

  • 首先資料庫量要足夠多,如果有十億及百億行數據,那麼Hbase是一個很好的選項,如果只有幾百萬行甚至不到的數據量,RDBMS是一個很好的選擇。因為數據量小的話,真正能工作的機器量少,剩餘的機器都處於空閑的狀態

  • 其次,如果你不需要輔助索引,靜態類型的列,事務等特性,一個已經用RDBMS的系統想要切換到Hbase,則需要重新設計系統。

  • 最後,保證硬體資源足夠,每個HDFS集群在少於5個節點的時候,都不能表現的很好。因為HDFS默認的復制數量是3,再加上一個NameNode。

  • Hbase在單機環境也能運行,但是請在開發環境的時候使用。

    內部應用

  • 存儲業務數據:車輛GPS信息,司機點位信息,用戶操作信息,設備訪問信息。。。

  • 存儲日誌數據:架構監控數據(登錄日誌,中間件訪問日誌,推送日誌,簡訊郵件發送記錄。。。),業務操作日誌信息

  • 存儲業務附件:UDFS系統存儲圖像,視頻,文檔等附件信息

  • 不過在公司使用的時候,一般不使用原生的Hbase API,使用原生的API會導致訪問不可監控,影響系統穩定性,以致於版本升級的不可控。

HFile

HFile是Hbase在HDFS中存儲數據的格式,它包含多層的索引,這樣在Hbase檢索數據的時候就不用完全的載入整個文件。索引的大小(keys的大小,數據量的大小)影響block的大小,在大數據集的情況下,block的大小設置為每個RegionServer 1GB也是常見的。

探討資料庫的數據存儲方式,其實就是探討數據如何在磁碟上進行有效的組織。因為我們通常以如何高效讀取和消費數據為目的,而不是數據存儲本身。

Hfile生成方式

起初,HFile中並沒有任何Block,數據還存在於MemStore中。

Flush發生時,創建HFile Writer,第一個空的Data Block出現,初始化後的Data Block中為Header部分預留了空間,Header部分用來存放一個Data Block的元數據信息。

而後,位於MemStore中的KeyValues被一個個append到位於內存中的第一個Data Block中:

註:如果配置了Data Block Encoding,則會在Append KeyValue的時候進行同步編碼,編碼後的數據不再是單純的KeyValue模式。Data Block Encoding是HBase為了降低KeyValue結構性膨脹而提供的內部編碼機制。

⑸ 如何讀懂Web服務的系統架構圖

大數據數量龐大,格式多樣化。大量數據由家庭、製造工廠和辦公場所的各種設備、互聯網事務交易、社交網路的活動、自動化感測器、移動設備以及科研儀器等生成。它的爆炸式增長已超出了傳統IT基礎架構的處理能力,給企業和社會帶來嚴峻的數據管理問題。因此必須開發新的數據架構,圍繞「數據收集、數據管理、數據分析、知識形成、智慧行動」的全過程,開發使用這些數據,釋放出更多數據的隱藏價值。

一、大數據建設思路

1)數據的獲得

四、總結

基於分布式技術構建的大數據平台能夠有效降低數據存儲成本,提升數據分析處理效率,並具備海量數據、高並發場景的支撐能力,可大幅縮短數據查詢響應時間,滿足企業各上層應用的數據需求。

⑹ hbase虛擬分布式模式需要多少個節點

Copyright © 1999-2020, CSDN.NET, All Rights Reserved

登錄
HBase實戰+權威指南
《HBase實戰》是一本基於經驗提煉而成的指南,它教給讀者...在HBase中集成用於海量並行數據處理任務的Hadoop的MapRece框架;助你了解如何調節集群、設計模式、拷貝表、導入批量數據、刪除節點以及其他更多的任務等。
HBase
hbase權威指南
《HBase權威指南》探討了如何通過使用與...在HBase中集成MapRece框架;了解如何調節集群、設計模式、拷貝表、導入批量數據和刪除節點等。 《HBase權威指南》適合使用HBase進行資料庫開發的高級資料庫研發人員閱讀
hbase
淺談HBase的數據分布_weixin_34337381的博客-CSDN博客
本文從數據分布問題展開,介紹HBase基於Range的分布策略與region的調度問題,詳細討論了rowkey的比較規則及其應用,希望能夠加深用戶對HBase數據分布機制和rowkey的理解,...
Hbase 超詳細架構解析_weixin_33767813的博客-CSDN博客
注意:client訪問hbase上的數據時不需要Hmaster的參與,因為數據定址訪問zookeeper和HregionServer,而數據讀寫訪問HregionServer。Hmaster僅僅維護table和region的元數據信...
Apress - Pro Hadoop
這兩個函數由程序員提供給系統,下層設施把Map和Rece操作分布在集群上運行,並把結果存儲在GFS上。 3、BigTable。一個大型的分布式資料庫,這個資料庫不是關系式的資料庫。像它的名字一樣,就是一個巨大的表格...
Hadoop
分布式協調工具-ZooKeeper實現動態負載均衡
在分布式環境中,相同的業務應用分布在不同的機器上,有些業務邏輯(例如一些耗時的計算,網路I/O處理),往往只需要讓整個集群中的某一台機器進行執行,其餘機器可以共享這個結果,這樣可以大大減少重復勞動,提高...
Hbase概念詳解_fenglei0415的博客-CSDN博客
所以,HBase在表的設計上會有很嚴格的要求。架構上,HBase是分布式資料庫的典範,這點比較像MongoDB的sharding模式,能根據鍵值的大小,把數據分布到不同的存儲節點上...
面試題_HBase_qq_40822132的博客-CSDN博客
物理模型:整個hbase表會拆分成多個region,每個region記錄著行鍵的起始點保存在不同的節點上,查詢時就是對各個節點的並行查詢,當region很大時使用.META表存儲各個...
論文研究-文本挖掘中一種基於參數估計的語句分塊方案研究.pdf
該方法要求生成並存儲大量片語頻率數據,並在每次迭代時支持計算節點快速訪問數據。實驗評估表明,該方案顯著降低了遠程資料庫查詢次數,其端到端應用運行時間要比只基於HBase的原始分布式部署快出6倍。
數據集 參數估計 文本挖掘 冪律
2017最新大數據架構師精英課程
57_hadoop偽分布模式8 I/ e; `1 Y$ b+ p1 R5 ^ 58_編寫分發腳本-xcall-rsync1 X% G: Y' Q; }5 I$ [ 59_hadoop完全分布式-hdfs體驗 60_hadoop的架構原理圖 61_臨時文件 62_hadoop的簡單介紹, p5 P$ @+ O2 V. p } 63_...
Hbase史上最詳細原理總結_二十-CSDN博客
表在行的方向上分割為多個Region; Region是Hbase中分布式存儲和負載均衡的最小單元,不同Region分布到不同RegionServer上。 Region按大小分割的,隨著數據增多,Region...
分布式開源資料庫_HBase入門介紹_aa_maple的博客-CSDN博客

⑺ 急,急需要在vmware虛擬機的hadoop上安裝運行hbase的截圖

由圖中可以看出,存儲模塊主要包括了ZooKeeper集群、HMaster、HRegionServer。

ZooKeeper:

Hbase是強依賴於ZooKeeper,我們讀或寫一個表的數據,都會優先訪問ZooKeeper。

通常是集群中單獨的3/5台伺服器。

HMaster通常是Hadoop集群中的一台或兩台(backup-Master)。

HRegionServer通常是Hadoop集群中的部分或全部

HRegionServer通常和datanode部署在同一台伺服器上

比如datanode是10個

HRegionServer可以是10個或小於10個

2、hbase架構圖重要組件的名稱及作用

client:

讀/寫訪問hbase的用戶

ZooKeeper:

基於觀察者模式監控master和regionserver運行狀態,保證hbase的高可用性,這是因為hbase是強依賴於ZooKeeper的。

存儲了hbase的定址入口

存儲了hbase表的meta元數據表的位置信息

Meta也是一張表,meta表一般只有一個region

region存在哪台regionserver上

meta元數據表存儲了哪些信息:

一張表有哪些reigon

region分別分配到哪些regionserve上r

每個reigon的startkey和stopkey的大小

master:

管理regionserver並分配表的region給regionserver

對集群的region的數量進行負載均衡管理

master會藉助ZooKeeper感知regionserver的上線和下線

master一般會有兩台(backup-Master),保證master的高可用性

master不參與hbase表數據的讀和寫,負載通常比較低

master宕機一段時間內集群可以保持正常的讀寫

regionserver:

管理所在伺服器節點上的所有region

負責響應客戶端的讀寫請求(IO)

三大機制(flush、compact、split)

Hlog:

預寫日誌

⑻ 程序中的Hive具體是干什麼用的呢

Hive是基於Hadoop平台的數倉工具,具有海量數據存儲、水平可擴展、離線批量處理的優點,解決了傳統關系型數倉不能支持海量數據存儲、水平可擴展性差等問題,但是由於Hive數據存儲和數據處理是依賴於HDFS和MapRece,因此在Hive進行數據離線批量處理時,需將查詢語言先轉換成MR任務,由MR批量處理返回結果,所以Hive沒法滿足數據實時查詢分析的需求。
Hive是由FaceBook研發並開源,當時FaceBook使用Oracle作為數倉,由於數據量越來越大,Oracle數倉性能越來越差,沒法實現海量數據的離線批量分析,因此基於Hadoop研發Hive,並開源給Apacha。
由於Hive不能實現數據實時查詢交互,Hbase可提供實時在線查詢能力,因此Hive和Hbase形成了良性互補。Hbase因為其海量數據存儲、水平擴展、批量數據處理等優點,也得到了廣泛應用。
Pig與HIVE工具類似,都可以用類sql語言對數據進行處理。但是他們應用場景有區別,Pig用於數據倉庫數據的ETL,HIVE用於數倉數據分析。
從架構圖當中,可看出Hive並沒有完成數據的存儲和處理,它是由HDFS完成數據存儲,MR完成數據處理,其只是提供了用戶查詢語言的能力。Hive支持類sql語言,這種SQL稱為Hivesql。用戶可用Hivesql語言查詢,其驅動可將Hivesql語言轉換成MR任務,完成數據處理。
【Hive的訪問介面】
CLI:是hive提供的命令行工具
HWI:是Hive的web訪問介面
JDBC/ODBC:是兩種的標準的應用程序編程訪問介面
Thrift Server:提供異構語言,進行遠程RPC調用Hive的能力。
因此Hiv具備豐富的訪問介面能力,幾乎能滿足各種開發應用場景需求。
【Driver】
是HIVE比較核心的驅動模塊,包含編譯器、優化器、執行器,職責為把用戶輸入的Hivesql轉換成MR數據處理任務
【Metastore】
是HIVE的元數據存儲模塊,數據的訪問和查找,必須要先訪問元數據。Hive中的元數據一般使用單獨的關系型資料庫存儲,常用的是Mysql,為了確保高可用,Mysql元資料庫還需主備部署。
架構圖上面Karmasphere、Hue、Qubole也是訪問HIVE的工具,其中Qubole可遠程訪問HIVE,相當於HIVE作為一種公有雲服務,用戶可通過互聯網訪問Hive服務。
Hive在使用過程中出現了一些不穩定問題,由此發展出了Hive HA機制,

⑼ 怎樣的架構設計才是真正的數據倉庫架構

一直想整理一下這塊內容,既然是漫談,就想起什麼說什麼吧。我一直是在互聯網行業,就以互聯網行業來說。
先大概列一下互聯網行業數據倉庫、數據平台的用途:

  • 整合公司所有業務數據,建立統一的數據中心;

  • 提供各種報表,有給高層的,有給各個業務的;

  • 為網站運營提供運營上的數據支持,就是通過數據,讓運營及時了解網站和產品的運營效果;

  • 為各個業務提供線上或線下的數據支持,成為公司統一的數據交換與提供平台;

  • 分析用戶行為數據,通過數據挖掘來降低投入成本,提高投入效果;比如廣告定向精準投放、用戶個性化推薦等;

  • 開發數據產品,直接或間接為公司盈利;

  • 建設開放數據平台,開放公司數據;

  • 。。。。。。


  • 上面列出的內容看上去和傳統行業數據倉庫用途差不多,並且都要求數據倉庫/數據平台有很好的穩定性、可靠性;但在互聯網行業,除了數據量大之外,越來越多的業務要求時效性,甚至很多是要求實時的 ,另外,互聯網行業的業務變化非常快,不可能像傳統行業一樣,可以使用自頂向下的方法建立數據倉庫,一勞永逸,它要求新的業務很快能融入數據倉庫中來,老的下線的業務,能很方便的從現有的數據倉庫中下線;

  • 其實,互聯網行業的數據倉庫就是所謂的敏捷數據倉庫,不但要求能快速的響應數據,也要求能快速的響應業務;

  • 建設敏捷數據倉庫,除了對架構技術上的要求之外,還有一個很重要的方面,就是數據建模,如果一上來就想著建立一套能兼容所有數據和業務的數據模型,那就又回到傳統數據倉庫的建設上了,很難滿足對業務變化的快速響應。應對這種情況,一般是先將核心的持久化的業務進行深度建模(比如:基於網站日誌建立的網站統計分析模型和用戶瀏覽軌跡模型;基於公司核心用戶數據建立的用戶模型),其它的業務一般都採用維度+寬表的方式來建立數據模型。這塊是後話。

  • 整體架構下面的圖是我們目前使用的數據平台架構圖,其實大多公司應該都差不多:

  • 邏輯上,一般都有數據採集層、數據存儲與分析層、數據共享層、數據應用層。可能叫法有所不同,本質上的角色都大同小異。

  • 我們從下往上看:

  • 數據採集數據採集層的任務就是把數據從各種數據源中採集和存儲到數據存儲上,期間有可能會做一些簡單的清洗。


  • 數據源的種類比較多:

  • 網站日誌:


  • 作為互聯網行業,網站日誌占的份額最大,網站日誌存儲在多台網站日誌伺服器上,

  • 一般是在每台網站日誌伺服器上部署flume agent,實時的收集網站日誌並存儲到HDFS上;

  • 業務資料庫:


  • 業務資料庫的種類也是多種多樣,有Mysql、Oracle、SqlServer等,這時候,我們迫切的需要一種能從各種資料庫中將數據同步到HDFS上的工具,Sqoop是一種,但是Sqoop太過繁重,而且不管數據量大小,都需要啟動MapRece來執行,而且需要Hadoop集群的每台機器都能訪問業務資料庫;應對此場景,淘寶開源的DataX,是一個很好的解決方案(可參考文章 《異構數據源海量數據交換工具-Taobao DataX 下載和使用》),有資源的話,可以基於DataX之上做二次開發,就能非常好的解決,我們目前使用的DataHub也是。

  • 當然,Flume通過配置與開發,也可以實時的從資料庫中同步數據到HDFS。

  • 來自於Ftp/Http的數據源:


  • 有可能一些合作夥伴提供的數據,需要通過Ftp/Http等定時獲取,DataX也可以滿足該需求;

  • 其他數據源:


  • 比如一些手工錄入的數據,只需要提供一個介面或小程序,即可完成;


  • 數據存儲與分析毋庸置疑,HDFS是大數據環境下數據倉庫/數據平台最完美的數據存儲解決方案。


  • 離線數據分析與計算,也就是對實時性要求不高的部分,在我看來,Hive還是首當其沖的選擇,豐富的數據類型、內置函數;壓縮比非常高的ORC文件存儲格式;非常方便的SQL支持,使得Hive在基於結構化數據上的統計分析遠遠比MapRece要高效的多,一句SQL可以完成的需求,開發MR可能需要上百行代碼;

  • 當然,使用Hadoop框架自然而然也提供了MapRece介面,如果真的很樂意開發Java,或者對SQL不熟,那麼也可以使用MapRece來做分析與計算;Spark是這兩年非常火的,經過實踐,它的性能的確比MapRece要好很多,而且和Hive、Yarn結合的越來越好,因此,必須支持使用Spark和SparkSQL來做分析和計算。因為已經有Hadoop Yarn,使用Spark其實是非常容易的,不用單獨部署Spark集群,關於Spark On Yarn的相關文章,可參考:《Spark On Yarn系列文章》

  • 實時計算部分,後面單獨說。

  • 數據共享這里的數據共享,其實指的是前面數據分析與計算後的結果存放的地方,其實就是關系型資料庫和NOSQL資料庫;


  • 前面使用Hive、MR、Spark、SparkSQL分析和計算的結果,還是在HDFS上,但大多業務和應用不可能直接從HDFS上獲取數據,那麼就需要一個數據共享的地方,使得各業務和產品能方便的獲取數據;和數據採集層到HDFS剛好相反,這里需要一個從HDFS將數據同步至其他目標數據源的工具,同樣,DataX也可以滿足。

  • 另外,一些實時計算的結果數據可能由實時計算模塊直接寫入數據共享。


  • 數據應用
  • 業務產品


  • 業務產品所使用的數據,已經存在於數據共享層,他們直接從數據共享層訪問即可;

  • 報表


  • 同業務產品,報表所使用的數據,一般也是已經統計匯總好的,存放於數據共享層;

  • 即席查詢


  • 即席查詢的用戶有很多,有可能是數據開發人員、網站和產品運營人員、數據分析人員、甚至是部門老大,他們都有即席查詢數據的需求;

  • 這種即席查詢通常是現有的報表和數據共享層的數據並不能滿足他們的需求,需要從數據存儲層直接查詢。

  • 即席查詢一般是通過SQL完成,最大的難度在於響應速度上,使用Hive有點慢,目前我的解決方案是SparkSQL,它的響應速度較Hive快很多,而且能很好的與Hive兼容。

  • 當然,你也可以使用Impala,如果不在乎平台中再多一個框架的話。

  • OLAP


  • 目前,很多的OLAP工具不能很好的支持從HDFS上直接獲取數據,都是通過將需要的數據同步到關系型資料庫中做OLAP,但如果數據量巨大的話,關系型資料庫顯然不行;

  • 這時候,需要做相應的開發,從HDFS或者HBase中獲取數據,完成OLAP的功能;

  • 比如:根據用戶在界面上選擇的不定的維度和指標,通過開發介面,從HBase中獲取數據來展示。

  • 其它數據介面


  • 這種介面有通用的,有定製的。比如:一個從Redis中獲取用戶屬性的介面是通用的,所有的業務都可以調用這個介面來獲取用戶屬性。


  • 實時計算現在業務對數據倉庫實時性的需求越來越多,比如:實時的了解網站的整體流量;實時的獲取一個廣告的曝光和點擊;在海量數據下,依靠傳統資料庫和傳統實現方法基本完成不了,需要的是一種分布式的、高吞吐量的、延時低的、高可靠的實時計算框架;Storm在這塊是比較成熟了,但我選擇Spark Streaming,原因很簡單,不想多引入一個框架到平台中,另外,Spark Streaming比Storm延時性高那麼一點點,那對於我們的需要可以忽略。

  • 我們目前使用Spark Streaming實現了實時的網站流量統計、實時的廣告效果統計兩塊功能。

  • 做法也很簡單,由Flume在前端日誌伺服器上收集網站日誌和廣告日誌,實時的發送給Spark Streaming,由Spark Streaming完成統計,將數據存儲至Redis,業務通過訪問Redis實時獲取。

  • 任務調度與監控在數據倉庫/數據平台中,有各種各樣非常多的程序和任務,比如:數據採集任務、數據同步任務、數據分析任務等;


  • 這些任務除了定時調度,還存在非常復雜的任務依賴關系,比如:數據分析任務必須等相應的數據採集任務完成後才能開始;數據同步任務需要等數據分析任務完成後才能開始;這就需要一個非常完善的任務調度與監控系統,它作為數據倉庫/數據平台的中樞,負責調度和監控所有任務的分配與運行。

  • 前面有寫過文章,《大數據平台中的任務調度與監控》,這里不再累贅。

  • 總結在我看來架構並不是技術越多越新越好,而是在可以滿足需求的情況下,越簡單越穩定越好。目前在我們的數據平台中,開發更多的是關注業務,而不是技術,他們把業務和需求搞清楚了,基本上只需要做簡單的SQL開發,然後配置到調度系統就可以了,如果任務異常,會收到告警。這樣,可以使更多的資源專注於業務之上。

⑽ hbase怎麼用

HBase安裝及簡單使用

通過之前的hadoop0.20.2的安裝並調試成功,接下來我們繼續安裝hbase0.90.5。在安裝hbase0.90.5之前,因為hbase0.90.5隻支持jdk1.6,所以,我把之前的jdk1.8卸載,重新安裝了jdk1.6。

第一步:

首先需要下載hbase0.90.5.tar.gz,並解壓到/home/hadoop/的目錄下,同時將目錄修改為hbase0.90.5

第二步:

替換hadoop核心jar包,主要母的是防止hbase和hadoop版本不同出現兼容問題,造成hmaster啟動異常

將hbase0.90.5/lib目錄中的hadoop-core-0.20-append-r1056497.jar包進行備份後刪除,再將/home/hadoop/hadoop下面的hadoop-0.20.2-core.jar賦值到/home/hadoop/hbase0.90.5目錄下即可

第三步:

編輯配置文件

①/home/hadoop/hbase0.90.5/conf/hbase-env.sh

我們對行鍵'1001'中列族info的列名age賦值24(1001:info:age=>24),插入兩次,會將最後一次的值進行合並,其中,用時間戳來區分。從圖片中的時間戳不同可以看出保存的是最後一次put的內容。

熱點內容
php淘寶互刷平台源碼 發布:2025-01-11 22:43:49 瀏覽:215
劍俠情緣緩存怎麼清理 發布:2025-01-11 22:33:56 瀏覽:316
win7旗艦版怎麼設置密碼 發布:2025-01-11 22:21:09 瀏覽:144
被害人訪問 發布:2025-01-11 22:06:24 瀏覽:366
朋友圈上傳長視頻方法 發布:2025-01-11 22:01:41 瀏覽:357
我的世界ice伺服器被炸罰款 發布:2025-01-11 21:54:36 瀏覽:725
linuxphpini配置 發布:2025-01-11 21:54:35 瀏覽:481
tp圖片壓縮 發布:2025-01-11 21:53:52 瀏覽:632
手柄怎麼調節安卓模式 發布:2025-01-11 21:44:36 瀏覽:950
國產伺服器搭建ftp 發布:2025-01-11 21:27:33 瀏覽:919