参考文章:
基本介绍:
- HBase是一个分布式的、面向列的开源数据库。HBase以表的形式存储数据,表有行和列组成,列划分为若干个列族/列簇。
- 是一个NoSQL数据库
- 特点就是插入(ingest)快
- 依赖:
- Java1.8
- Hadoop平台(单机模式可以不用)
- 本文使用的是自带的zookeeper
环境搭建
- 下载文件并上传到操作机上
- 检验文件完整性
- 解压
tar -zxvf hbase-2.2.4-bin.tar.gz
- 建立软链接
ln -s hbase-2.2.4 hbase
- 在hdbase/bin目录下运行
./hbase version
HBase配置
说下,HBase有三种运行模式,单机模式、伪分布式模式、分布式模式。
本文配置的是 伪分布式模式
单机模式:在一台计算机上安装和使用HBase,不涉及数据的分布式存储;
伪分布式模式:在一台计算机上模拟一个小的集群;
分布式模式:使用多台计算机实现物理意义上的分布式存储。
-
配置
hbase-env.sh
文件
HBASE_CLASSPATH
设置为本机HBase安装目录下的conf目录vi /data/program/hbase/conf/hbase-env.sh export JAVA_HOME=/data/program/java export HBASE_CLASSPATH=/data/program/hadoop/etc/hadoop export HBASE_MANAGES_ZK=true #设置ssh端口 export HBASE_SSH_OPTS="-p 52008"
-
配置配置hbase-site.xml文件
修改hbase.rootdir,指定HBase数据在HDFS上的存储路径;将属性hbase.cluter.distributed设置为true。
vi /data/program/hbase/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
hbase.rootdir
在Hadoop的core-site.xml文件下找
hbase.cluster.distributed
:设置集群处于分布式模式
hbase.unsafe.stream.capability.enforce
防止出现无法找到HMaster进程的错误
-
在其他节点安装
scp -P 52008 -r /data/program/hbase/ root@slave1:/data/program/hbase/
-
修改regionservers添加节点
master slave1
-
在bin目录下运行
start-hbase.sh
-
运行
./hbase shell
HBase的基本使用
#create 创建表
#create 表名,字段名,字段名,。。。。
create 'student','sname','sage'
#describe 查看表的基本信息
#describe 表名
describe 'student'
#put命令添加数据,只能一个值一个值得加
#put 表名,行值,字段名,值
put 'student','1','sname',lisi' #在第一行的sname空下添加lisi值
put 'student','1','sage','18' #在第一行的sage空下添加18值
#delete 删除数据
#delete 表名,行值,字段名
delete 'student','1','sname' #删除student表下第一行的sname的值
#删除一行数据
#deleteall 表名,行值
deleteall 'student','1'
#查询一行数据
# get 表名,行值
get 'student','1'
#查询所有数据
# scan 表名
scan 'student'