目录
Part.01 关于HDP
Part.02 核心组件原理
Part.03 资源规划
Part.04 基础环境配置
Part.05 Yum源配置
Part.06 安装OracleJDK
Part.07 安装MySQL
Part.08 部署Ambari集群
Part.09 安装OpenLDAP
Part.10 创建集群
Part.11 安装Kerberos
Part.12 安装HDFS
Part.13 安装Ranger
Part.14 安装YARN+MR
Part.15 安装HIVE
Part.16 安装HBase
Part.17 安装Spark2
Part.18 安装Flink
Part.19 安装Kafka
Part.20 安装Flume
十六、安装HBase
1.安装
选择HBase进行安装
2.HMaster HA
ACTIONS->ADD HBase Master
3.Ranger授权
在HBase中新建策略
先以hbase/hdp01.hdp.com@HDP315.COM身份分别创建两个表空间及表
kinit -kt /etc/security/keytabs/hbase.service.keytab hbase/hdp01.hdp.com@HDP315.COM
hbase shell
create_namespace 'tenant1'
create_namespace 'tenant2'
create 'tenant1:hbase_table1',{NAME=>'baseinfo',VERSIONS=>5},{NAME=>'extrainfo',VERSIONS=>3}
create 'tenant2:hbase_table2',{NAME=>'baseinfo',VERSIONS=>5},{NAME=>'extrainfo',VERSIONS=>3}
然后以tenant1身份登录,分别测试对两张表的权限
kinit -kt /root/keytab/tenant1.keytab tenant1
hbase shell
describe 'tenant1:hbase_table1'
describe 'tenant2:hbase_table2'
4.常用操作
(1)连接HBase
首先通过Kerberos认证,然后用hbase shell连接
kinit -kt /etc/security/keytabs/hbase.service.keytab hbase/hdp01.hdp.com@HDP315.COM
hbase shell
注:向左删除是ctrl+backspace、向右删除是backspace。
(2)表空间
hbase默认有两个表空间,它们是default和hbase
列出所有表空间
list_namespace
查看表空间下有的表
list_namespace_tables 'default'
创建表空间,禁止创建表到hbase表空间下
create_namespace 'tenant1'
查看表空间信息
describe_namespace 'tenant1'
删除表空间
drop_namespace 'tenant1'
(3)表
创建表
该表中有两个列族baseinfo和extrainfo,baseinfo族中存储的每个值的最近时间版本数量为5,族参数必须大写,如NAME和VERSION
create 'tenant1:hbase_table1',{NAME=>'baseinfo',VERSIONS=>5},{NAME=>'extrainfo',VERSIONS=>3}
显示表结构
describe 'tenant1:hbase_table1'
修改表
会先判断有没有,有就修改,没有就增加,修改是alter
修改列族baseinfo,将主版本数量改为3
alter 'tenant1:hbase_table1',{NAME=>'baseinfo',VERSIONS=>3}
增加列族base
alter 'tenant1:hbase_table1',{NAME=>'base',VERSIONS=>5}
删除列族baseinfo,低版本的HBase需要先disable而不是alter,再delete
alter 'tenant1:hbase_table1',{NAME=>'baseinfo',METHOD=>'delete'}
判断表是否存在
exists 'tenant1:hbase_table1'
删除表
在删除表之前必须先disable禁用表然后再执行drop操作删除它
disable ‘tenant1:hbase_table1’
drop ‘tenant1:hbase_table1’
增加键值对到表中
向tenant1表空间的hbase_table1表中的base列族中添加name列,添加值为ligang
修改和增加都是put,存在时是修改,不存在时是增加
put 'tenant1:hbase_table1','001','base:name','liujingyu'
put 'tenant1:hbase_table1','001','base:age',37
查询001行的所有键值对
get 'tenant1:hbase_table1','001','base:name'
删除表中的键值对
delete 'tenant1:hbase_table1','001','base:name'
删除表中的所有数据并重置表的结构,实际上truncate属于DDL操作
truncate 'tenant1:hbase_table1'
扫描表中的所有行的数据
scan 'tenant1:hbase_table1'
统计表中的行记录数
count 'tenant1:hbase_table1'