HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
—百度百科
hbase下载地址:hbase下载地址
将hbase压缩包解压到/opt目录中,显示信息如下:
hadoop@hzwy23:/opt/hbase-1.3.0$ pwd
/opt/hbase-1.3.0
hadoop@hzwy23:/opt/hbase-1.3.0$ ls
bin CHANGES.txt conf docs hbase-webapps LEGAL lib LICENSE.txt logs NOTICE.txt README.txt zookeeper.out
下载地址:zookeeper官方下载地址
将下载下来的压缩包解压到/opt目录中。
hadoop@hzwy23:/opt/zookeeper-3.4.9$ ls
bin conf docs lib README_packaging.txt src zookeeper-3.4.9.jar.md5
build.xml contrib ivysettings.xml LICENSE.txt README.txt zookeeper-3.4.9.jar zookeeper-3.4.9.jar.sha1
CHANGES.txt dist-maven ivy.xml NOTICE.txt recipes zookeeper-3.4.9.jar.asc
hadoop@hzwy23:/opt/zookeeper-3.4.9$ pwd
/opt/zookeeper-3.4.9
hadoop@hzwy23:/opt/zookeeper-3.4.9$ cp conf/zoo_sample.cfg conf/zoo.cfg
修改用户环境变量~/.profile文件,在文件末尾添加下边信息:
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.9
export PATH=$PATH:$ZOOKEEPER_HOME/bin
export HBASE_HOME=/opt/hbase-1.3.0
export PATH=$PATH:$HBASE_HOME/bin
接着source一下配置文件,让环境变量生效:
source ~/.profile
修改$HBASE_HOME/conf/hbase-site.xml,将configuration中内容修改为下边所示:
hbase.rootdir
hdfs://localhost:9000/hbase
hbase.cluster.distributed
true
首先启动zookeeper,
cd $ZOOKEEPER_HOME/bin
./zkServer.sh start
jps
如果在jvm进程中找到QuorumPeerMain进程,表示zookeeper启动成功。
cd $HBASE_HOME/bin
./start-hbase.sh
jps
如果在jvm中存在HMaster,HRegionServer进程,表示hbase启动成功。
通过shell进入hbase交互界面。
hbase shell
创建people表,字段是name,age,gender。
hbase(main):001:0> create 'people','name','age','gender';
向表中添加数据
hbase(main):028:0> put 'people','huang','age','gender:man'
查询people表中数据
hbase(main):029:0> get 'people','huang','age'
COLUMN CELL
age: timestamp=1487258719121, value=gender:man
age:24 timestamp=1487258624676, value=man
1 row(s) in 0.0140 seconds
详细hbase操作手册,请参考官方文档。