HBase是一个分布式的数据库
主要作用: 海量数据的存储和海量数据的准实时查询
1、HBase安装说明
JDK1.7以上(JDK安装这里不作介绍)
Hadoop-2.5.0以上。 我这里用的是Hadoop2.6
Zookeeper-3.4.* 以上。 我这里是Zookeeper-3.4.13 参考:Linux下Zookeeper的下载、安装和启动
2、Hadoop2.6安装
因为HBase依赖于HDFS,所以先安装Hadoop
下载地址:https://pan.baidu.com/s/1XvL_jas1yVniE-FNQnZNWg
1) 解压 tar -zxvf hadoop-2.6.0.tar.gz
2) 配置hardoop的jdk
cd /root/tools/hadoop-2.6.0/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_181
3) 修改core-site.xml
cd /root/tools/hadoop-2.6.0/etc/hadoop
vi core-site.xml
cd /root/tools/hadoop-2.6.0
创建 mkdir -p data/tmp
fs.defaultFS hdfs://localhost:9000 hadoop.tmp.dir /root/tools/hadoop-2.6.0/data/tmp
4)修改hdfs-site.xml
cd /root/tools/hadoop-2.6.0/etc/hadoop
vi hdfs-site.xml
dfs.replication 1 dfs.permissions.enabled false
副本数为1, 取消权限
5) 启动hadoop
在启动前,先进行namenode格式化
cd /root/tools/hadoop-2.6.0/etc/hadoop
bin/hdfs namenode -format
启动hadoop
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
6)访问hadoop
http://4x.xx.xx.x20:50070/dfshealth.html#tab-overview
这样hadoop就安装完成了。
3、HBase安装
HBase下载:http://archive.apache.org/dist/hbase/
我这里下载的是hbase-1.1.0-bin.tar.gz
1) 解压: tar -zxvf hbase-1.1.0-bin.tar.gz
2) 配置JDK
/root/tools/hbase-1.1.0/conf
vi hbase-env.sh
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_181/
配置不使用自带的Zookeeper
# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false
3) 配置 hbase-site
cd /root/tools/hbase-1.1.0/conf
vi hbase-site.xml
hbase.rootdir hdfs://localhost:9000/hbase hbase.cluster.distributed true hbase.zookeeper.quorum localhost:2181
多台Zookeeper,则用逗号分隔如xx:2181,yy:2181
4) 启动Hbase
cd /root/tools/hbase-1.1.0/bin
./start-hbase.sh
jps命令查看是否启动。如下图所示,说明已经启动成功。
4 HBase Shell使用
1) 进入shell
cd /root/tools/hbase-1.1.0/bin
./hbase shell
2) 创建表名
create 'test','info'
表名为test,列族名为info
3) list 命令查看创建的表名
4) 查看表里数据
目前test表中无数据
5) 插入一条数据
put 'test','0001','info:username','nick'
0001是rowkey
info是列族
username是列名
nick是列值
然后查看数据:
6) describe 查看表信息
7) 删除表
先禁用表 disable ‘test’
is_enabled 'test' 查看表的状态
dorp ‘test’ 删除表
5 HBase Shell对表数据的操作
1) 重新创建test表,插入用户名和年龄数据
2) count 'test' 查看test表的行数
3) 查看哪一行哪一列族下哪一列的数据
如查看0001行info列族username列的数据,值为nick
4) 删除某一列
删除test表中第0001行info列族的age列
5) 清空表数据 truncate ‘test’
注意: Hbase没有修改数据操作
6) HBase 创建命名空间和查看命名空间
create_namespace 'pb'
看看命名空间
list_namespace