hbase 添加用户_开源工具 | HBase表管理系统——HBaseManager2.0.6

HBaseManager 2.0.6版本新增了Kerberos认证支持和初步的HQL功能,允许用户以类SQL的方式操作HBase。介绍了如何配置Kerberos认证,并展示了HQL的创建表、插入、选择和删除语句的用法,同时也指出了当前HQL存在的限制和未来优化方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 更新预览

在 HBaseManager 2.0.6 版本中,主要集成了 Kerberos 认证以及初步支持 HQL 的功能。快速体验站点:

http://www.jielongping.com:9527/index  账户密码:admin/admin123

2. Kerberos 认证

如果你的 HBase 集群集成了 Kerberos,那么你需要在配置文件hbase-manager.properties中,为 HBaseManager 配置 Kerberos 相关的认证,我的配置示例如下:

hbase.manager.zk.cluster.alias=node1_online,localhost

node1_online.hbase.quorum=node2.bigdata.leo.com,node1.bigdata.leo.com,node3.bigdata.leo.com
node1_online.hbase.zk.client.port=2181
node1_online.hbase.node.parent=/hbase
node1_online.hbase.client.properties=hbase.client.retries.number=3
node1_online.hbase.filter.namespace.prefix=SYSTEM
node1_online.hbase.filter.tableName.prefix=KYLIN
# Kerberos相关的配置信息,可以参考集群中的hbase-site.xml配置文件
node1_online.hbase.hadoop.security.authentication=kerberos
node1_online.hbase.hbase.security.authentication=kerberos
# KDC客户端配置文件,主要为了指定KDC的服务地址
node1_online.hbase.java.security.krb5.conf=/etc/krb5.conf
# 需要登录用户的keytab文件
node1_online.hbase.keytab.file=/home/hadoop/hadoop.keytab
# 登录用户principal
node1_online.hbase.kerberos.principal=hadoop@LEO.COM
# master 和 regionserver的principal
node1_online.hbase.master.kerberos.principal=hbase/_HOST@LEO.COM
node1_online.hbase.regionserver.kerberos.principal=hbase/_HOST@LEO.COM

##################################################################
localhost.hbase.quorum=localhost
localhost.hbase.zk.client.port=2181
localhost.hbase.node.parent=/hbase
localhost.hbase.client.properties=hbase.client.retries.number=3
localhost.hbase.filter.namespace.prefix=SYSTEM
localhost.hbase.filter.tableName.prefix=KYLIN

3. HQL 的功能

此处的 HQL 不是指 hive 的 HQL,而是针对 HBase 的 API 查询,重新定义的一种类 SQL 的语法。HQL 的出现将大大简化 HBase 复杂查询 API 的使用。

基于hbase-sdk 项目提供的 hql 功能,你可以在 hbase-manager 平台之中稍作设置,就可以体验以类 SQL 的方式来读写集群中的数据,而无需集成 Phoenix。

3.1 创建 HBase 表的 schema 信息

在体验 SQL 之前,你必须为待操作的HBase表提供 完整的schema 信息。

主页->HBaseTableSchema->添加 HBaseSchema

为 HBase 表添加 Schema 信息

3a3ed413377b5138d236611bcc94590d.png
add-schema

管理 schema 信息

05a20fe1d5d9ff180bf7d6c9bc61c0d1.png
schema-list

schema 信息需要遵循一定模板:

{
 "tableName":"TEST:USER",
 "defaultFamily":"F",
 "columnSchema":[
  {
   "family":"F",
   "qualifier":"name",
   "typeName":"string"
  },
  {
   "family":"F",
   "qualifier":"age",
   "typeName":"int"
  },
  {
   "family":"F",
   "qualifier":"pay",
   "typeName":"int"
  },
  {
   "family":"F",
   "qualifier":"address",
   "typeName":"string"
  }
 ]
}

编辑框提供了 json 编辑器以及格式化的工具。后续会考虑兼容表单填写 schema 的方式。

3.2 insert 语句

打开 HBaseSQL,在 SQL 编辑框中输入 SQL,针对 SQL 的一些特殊关键字有友好的高亮和提示。只是目前 SQL 语法还不是很完美,对语句格式的要求还比较严格,尤其是编写 SQL 时需要注意空格。

9ff6f6a5e0683693d19ede7093d41601.png
insert-sql

insert 语法示例

INSERT INTO TEST:USER ( name , age , pay , address ) VALUES ('leo', '17', '232424', 'shanghai') WHERE rowkey is stringkey ('1001')

3.3 select 语句

select 语法示例

-- 基本的select语句
select * from TEST:USER where rowkey is stringkey ('1001')

-- 查询起止rowKey的数据
select * from TEST:USER where startKey is stringkey ( '1001' ) , endKey is stringkey ( '1003' ) limit 10

-- 查询起止rowKey 以及年龄大于10且工资大于20000的数据
select name , age , pay from TEST:USER where startKey is stringkey ( '1001' ) , endKey is stringkey ( '1003' ) ( age greater '10' and pay greater '20000' ) limit 10

--  查询起止rowKey 以及年龄大于10且工资大于20000的数据,且版本号为1,时间戳在1607771640000~1607782440000之间的数据
select name , age , pay from TEST:USER where startKey is stringkey ( '1001' ) , endKey is stringkey ( '1003' ) ( age greater '10' and pay greater '2000' ) ( maxversion is 1 ) ( startTS is '1607771687476' , endTS is '1607782947374' ) limit 10
select name , age , pay from TEST:USER where startKey is stringkey ( '1001' ) , endKey is stringkey ( '1003' ) ( age greater '10' and pay greater '2000' ) ( maxversion is 1 ) ( startTS is '1' , endTS is '2' ) limit 10

3.4 delete 语句

delete 语法示例

delete 语法中,rowKey 以及 filter 条件与 select 语句类似

delete * from TEST:USER where rowkey is stringkey ( '1001' ) ( age greater '10' and pay greater '20000' )

3.5 目前支持的查询语法

目前支持的过滤字段的语法如下:

cid EQUAL constant
cid EQUAL var
cid LESS constant
cid LESS var
cid GREATER constant
cid GREATER var
cid LESSEQUAL constant
cid LESSEQUAL var
cid GREATEREQUAL constant
cid GREATEREQUAL var
cid NOTEQUAL constant
cid NOTEQUAL var
cid NOTMATCH constant
cid NOTMATCH var
cid MATCH constant
cid MATCH var
cid IN constantList
cid IN var
cid NOTIN constantList
cid NOTIN var
cid BETWEEN constant AND constant
cid BETWEEN var AND var
cid NOTBETWEEN constant AND constant
cid NOTBETWEEN var AND var
cid ISNULL
cid ISNOTNULL
cid ISMISSING
cid ISNOTMISSING

目前 HQL 的功能还有很多瑕疵,例如:对空格的语法要求比较严格,对中文的支持不太友好,性能也有没经过全面的测试等等。后续会不断优化这块的功能,以简化项目开发中对 HBase 复杂查询 API 的使用。

4. 项目地址

https://gitee.com/weixiaotome/hbase-manager
https://github.com/CCweixiao/hbase-manager
- END -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值