HBase是Hadoop的分布式數(shù)據(jù)庫(kù)癌佩,用于大數(shù)據(jù)存儲(chǔ)冲簿。是獨(dú)立于Hadoop但依賴其HDFS的另一個(gè)開源項(xiàng)目沾乘。項(xiàng)目的目標(biāo)是用于支持大數(shù)據(jù)表:十億級(jí)的行數(shù)和百萬級(jí)的列數(shù)。Hbase也是個(gè)分布式的蜡坊、開源的杠输、描述性的、非關(guān)系型數(shù)據(jù)庫(kù)模型秕衙。Apache HBase數(shù)據(jù)庫(kù)在Hadoop和HDFS頂層提供Bigtable-like的容量,也即是說蠢甲,在Hadoop提供的HDFS文件系統(tǒng)上運(yùn)行的HBase數(shù)據(jù)庫(kù),將發(fā)揮分布式數(shù)據(jù)庫(kù)更好的性能据忘,若用OS支持的原生文件系統(tǒng)(如ext3,ext4,NTFS等)鹦牛,也能運(yùn)行,但不建議這樣做勇吊。
HBase基本架構(gòu)概述:
在HBase底層曼追,通過HDFS和ZooKeeper協(xié)調(diào)數(shù)據(jù)存儲(chǔ)和消息傳導(dǎo)。而上層的功能即是Master和RegionServer提供萧福,這四者各自成為一個(gè)進(jìn)程拉鹃。HDFS不用解釋辈赋,Master作為數(shù)據(jù)庫(kù)集群的核心節(jié)點(diǎn)鲫忍,擔(dān)負(fù)起協(xié)同調(diào)度的任務(wù)。而HBase可以指定備援Master(backup master)钥屈,這樣在主Master掛掉后可以由備援Master頂替上悟民。
HBase可以在偽分布式下運(yùn)行,也可以搭建真正的集群篷就。
偽分布式運(yùn)行模式下射亏,HMaster、ZooKeeper、HRegionServer運(yùn)行在不同的進(jìn)程智润,但還是在同一個(gè)實(shí)體機(jī)上及舍。
Master進(jìn)程被命名為HMaster,可以通過運(yùn)行JDK的jps工具查看窟绷。每個(gè)HMaster默認(rèn)會(huì)使用三個(gè)端口(16010,16020,16030)锯玛,在啟動(dòng)Backup HMaster時(shí),指定一個(gè)offset兼蜈,這樣端口號(hào)就可以不會(huì)沖突了攘残。offset將加在默認(rèn)端口上,作為這個(gè)Backup的開放端口为狸。命令如下:
bin/local-master-backup.sh start 2 3 5
這樣有三個(gè)備援主機(jī)啟動(dòng)歼郭,端口號(hào)分別是(16012,16022,16032)、(16013,16023,16033)辐棒、(16015,16025,16035)病曾。
同樣,使用stop命令即可關(guān)閉漾根。
同理知态,使用local-regionservers.sh 可以開啟和關(guān)閉本地的多個(gè)RegionServer。使用方法和上面的HMaster類似立叛,RegionServer同樣占用兩個(gè)默認(rèn)端口(16200,16300)负敏。