目錄
HBase是建立在Hadoop文件系統之上的分佈式面向列的數據庫。它是一個開源項目,是橫向擴展的。該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化數據的分佈式的文件系統”。就像Bigtable利用了Google文件系統(File System)所提供的分佈式數據存儲一樣,HBase在Hadoop之上提供了類似於Bigtable的能力。
說明:三臺機器的主機名分別爲:bigdata.centos01、bigdata.centos02、bigdata.centos03,其中centos01上面部署活動的master和regionserver,centos02上面部署後備的master以及regionserver,centos03上部署regionserver。Hbase安裝配置是基於單namenode節點服務配置。
Hbase需要依賴HDFS已經zookeeper,在安裝前要確保Hadoop和zookeeper已經安裝。如果沒有安裝Hadoop和zookeeper,請參閱:Hadoop集羣搭建 和 zookeeper的配置和分佈式部署 。
一、下載和配置
1. 下載
# 由於下載的Hadoop是cdh5.3.9,故而hbase也下載的是cdh5.3.9
wget http://archive.cloudera.com/cdh5/cdh/5/hbase-0.98.6-cdh5.3.9.tar.gz
2. 配置
- 修改conf/hbase-env.sh
# 配置java
export JAVA_HOME=/opt/modules/jdk8
# 不使用自帶的zookeeper,默認是true
export HBASE_MANAGES_ZK=false
- 修改conf/hbase-site.xml
<!--配置hdfs的namenode節點-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://bigdata.centos01:9000/hbase</value>
</property>
<!--配置是否是分佈式-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--配置zookeeper節點-->
<property>
<name>hbase.zookeeper.quorum</name>
<value>bigdata.centos01,bigdata.centos02,bigdata.centos03</value>
</property>
- 修改conf/regionservers
# regionserver子節點
bigdata.centos01
bigdata.centos02
bigdata.centos03
- 新建修改conf/backup-masters文件,配置備用的master
# 選取centos02的master作爲備用
bigdata.centos02
- 配置完之後將hbase同步到其他的兩臺機器
scp -r hbase-0.98.6-cdh5.3.9 <hostname>:<path>
- 集羣服務啓動
# 單個進程啓動
# bin/hbase-daemon.sh start master
# bin/hbase-daemon.sh start regionserver
# 集羣master和regionserver進程啓動(需配置ssh無祕鑰登錄)
bin/start-hbase.sh
- 訪問hbase的web監控界面
http://bigdata.centos01:60010
訪問界面如下:
二、hbase命令行基本操作
- 進入命令行操作
bin/hbase shell
- 建表:create '表名', '列簇'
- 查看錶:list
- 插入數據:put '表名', '行', '列簇:列名', '值'
- 查表:scan '表名'
- 刪除表:drop '表名'(刪除之前需要禁用disable)