hbase查看表结构_开源工具 | HBase表管理系统——HBaseManager2.0.5

1. 平台简介

从提交第一行代码,到如今 HBaseManager 的功能越来越丰富和完善,已经过去了三个月。这个简单的系统,也极大地方便了我们对 HBase 表的组织和管理工作。

系统目前的功能已经很丰富了,包含多集群切换、命名空间管理、HBase 表的新增、修改和删除,以及 HBase 表的标签管理,快照管理和基本的数据查询、增加和删除等功能。

同时,不同于 HBase 表的 ACL,借助于若依框架本身的角色和权限管理功能,HBaseManager 可以很方便地分配每一个角色相应的权限,使之可以管理对应的数据,从而保证数据安全。

当然,您也可以对 HBaseManager 进行深度定制,以做出更强的系统。所有前端和后台的代码都是基于若依框架进行封装,十分的精简易上手,出错概率低。同时支持移动客户端访问(若依框架的特性)。之后系统会陆续更新越来越多实用的功能。

  • 感谢 ruoyi 后台管理系统。

2. 极速体验站点

目前由于蛋壳停止了网络供应,体验站点暂时无法使用,如想快速体验,可以参考下文部署步骤,搭建属于你自己的系统。http://www.jielongping.com:9527/index

3. HBaseManager 功能列表

  1. namespace 管理:包括 namespace 的创建、删除
  2. HBase 表管理:表创建、预分区建表(内置三种预分区方案)、表删除、表信息更改、表清空
  3. 列簇管理:列簇新增、删除、属性修改
  4. 标签管理:HBase 表的标签管理
  5. 数据管理:HBase 表数据的查询、新增、删除。
  6. 多集群管理:多集群切换。
  7. 监控功能:后续可能会考虑增加丰富的监控功能,以期待代替 HBase 本身的监控界面
  8. WebShell:基于 Web 的 HBase Shell
  9. 更多功能:......

4. 若依系统本身功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。(后续将考虑整合团队统一的登录中心,ladp 等等)
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 通知公告:系统通知公告信息发布维护。
  9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  10. 登录日志:系统登录日志记录查询包含登录异常。
  11. 在线用户:当前系统中活跃用户状态监控。
  12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  13. 代码生成:前后端代码的生成(java、html、xml、sql)支持 CRUD 下载 。
  14. 系统接口:根据业务代码自动生成相关的 api 接口文档。
  15. 服务监控:监视当前系统 CPU、内存、磁盘、堆栈等相关信息。
  16. 在线构建器:拖动表单元素生成相应的 HTML 代码。
  17. 连接池监视:监视当前系统数据库连接池状态,可进行分析 SQL 找出系统性能瓶颈。

5. 系统功能截图

5.1 namespace 管理

56e9e2ac69d0f25be4efd64dd233ecdb.png
namespace

5.2 表管理

新增表

dde084272e9be39bec1eff9bdab7e415.png
add table
a60d90d8ca03c47003f47943508ba998.png
show1
132863fc11ad2cb01845e60aeb5b84d9.png
detail

表信息列表

d730b687a1769df940ddd51fa88c41f3.png
table-list

查看表详情

d52a207591c3370bc5db9f7ac6ae6070.png
table-detail

列簇信息,点击表名连接,跳转查看被选择表的列簇信息

1953ad5cb6397191302a38a812374ff4.png
family

列簇属性修改

可以对列簇的一些属性进行修改,同时支持新增列簇。

87ab8f6f2b8f17aafa8dadf126096a2c.png
add
b2f33f067dcbbd154b80bf2cf2d7ad2c.png
update

5.3 表数据管理

查询表数据

数据管理包括数据查看,详情查看,编辑,数据删除等功能

49d18f171e478948e875df5b0f685331.png
data-manager

查看表数据详情

2e4af3a3657b049b588e076f31c6aadf.png
detail

编辑表数据

2a0f804e316903d499d4adfa4631a892.png
update

5.4 快照管理

4ccc896dc2d2a03352f80fd51f96cb99.png
snapshot

5.5 多集群管理

hbase-manager 2.0.3 开始,新增了多集群管理,我们需要在配置集群中配置多个集群的连接信息,并在管理界面上手动进行集群切换。

配置多集群

84c3fab2aedd28f16138f429627e0808.png
two-cluster-config

配置文件说明

hbase.manager.zk.cluster.alias=localhost

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

切换集群

点击切换集群,就可以管理不同集群的数据。

a564c57f92b756a4d17aefc3288a3a76.png
choose-cluster

6. 快速体验

6.1 clone 源码

鉴于 GitHub 的龟速,hbase-manager 的所有源码,由 gitee 和 github 双平台来托管。

git clone https://github.com/CCweixiao/hbase-manager.git
git clone https://gitee.com/weixiaotome/hbase-manager.git

gitee0f7ef4cee6443b93f979767b8196fda9.png

githubf0e8bd988c2283cf878e8e15e488f478.png

6.2 编译项目

hbase-manager 由 java 开发,maven 管理,项目编译十分方便:

cd hbase-manager
mvn clean package -Dmaven.test.skip=true -Phbase1.x or
mvn clean package -Dmaven.test.skip=true -Phbase2.x

-Phbase1.x 默认加载 hbase1.x 的 client api -Phbase2.x 默认加载 hbase2.x 的 client api

其实,hbase1.4.3 的客户端包同样可以操作 2.1 的集群,仅仅是有些 API 过时了而已。

打包成功后,在 hbase-manager-admin/target/dist 目录下找到我们打包的安装包。

725cec6634f941a0c87e55c3cb3cee57.png
PACKAGE

如果想适配自己集群的 HBase 版本,请移步至 pom.xml 文件中修改,然后自行编译就好。

如果只是想抢鲜体验的话,这里提供编译好的安装包,整个系统配置简单,部署方便。默认提供安装包基于的 HBase 版本分别为 1.4.3 和 2.1.0,如果需要,可以关注公众号联系我获取。

6.3 安装部署

示例命令:

tar -zxvf hbase-manager-2.0.5.tar.gz
rm -f hbase-manager-2.0.5.tar.gz
cd /opt/hbase-manager-2.0.5

hbase-manager 的目录结构:

67b8f4c21db0fb7824dee28b5861e6ea.png
setup

配置数据源

数据源配置,请编辑 conf/application-druid.yml,各个配置项的作用说明,配置文件中解释的十分详实。

cbcc2753763c3c4f6dc8eb9cfba4307b.png
edit-datasource

保证 MySql 可以连接,最好用 MySql5.7,新建数据库 hbase-manager,配置好你数据库的用户名密码,然后运行 sql 文件。sql 文件在 conf/sql 文件夹下,分为 hbase-manager.sql(hbase-manager-latest.sql)和 quartz.sql,分别运行两个 SQL 文件,创建所需的表,最新版本的 sql 文件请选择对应的版本编号。

配置多集群切换

请编辑 conf/hbase-manager.properties,把需要管理的集群连接信息,加入到配置文件中。各个配置项的说明请参考上文。

系统级别的配置

系统配置一般不做修改,如果有需要请编辑 application.yaml。配置文件中各个配置项的作用说明也十分详细,就不占用此处的空间。

一些示例命令:


# 系统配置非常简单,配置完后就可以启动系统了

cd /opt/hbase-manager-2.0.5

nohup java -jar  hbase-manager-admin-1.0.0.jar > /dev/null 2>&1 &

bin/hbase-manager.sh start|stop|status|restart

浏览器访问:http://ip:9527/login

90973b0d6ebcd409d1c2370d84ce8465.png

如果有朋友对这个系统比较感兴趣,在体验的过程中,有遇到任何问题,欢迎在公众号里留言。系统其它功能模块的使用文档,可以扫一眼若依的官方文档。

efa6a6ace84fe739ebe5cd0b30af1988.png
find-me

7. hbase-sdk

HBaseManager 项目中有使用到我另一个开源项目 hbase-sdk。它是一款简单易上手的 hbase ORM 框架,针对 HBase1 和 HBase2 的 API,做了统一的封装,同时可以使用其spring-boot-starter-hbase在 SpringBoot 项目中直接作为 ORM 框架引入,类似于 spring-boot-jpa。

项目地址

https://gitee.com/weixiaotome/hbase-sdk
606b6f837d609ca44e48136fe88e3f67.png
gitee-hbase-sdk
https://github.com/CCweixiao/hbase-sdk
e956ef1e61832f4f3368431de7d64399.png
github-hbase-sdk

API 地址

https://weixiaotome.gitee.io/hbase-sdk/
654549f146c6eef3a87d7f596e3ce888.png
hbase-sdk-api

8. 更新日志

v2.0.5 2020.11.14

  1. 多集群切换功能完善
  2. 项目结构调整,代码优化,引用 hbase-sdk 2.0.5
  3. 优化 HBase 表数据管理功能,完善表数据的增删改查
  4. 新增快照管理功能
  5. HBase 列簇管理功能完善,包括列簇新增、以及参数更新等功能
  6. 还有更多 ......

v2.0.3 2020.10.08

  1. 增加多集群的切换功能
  2. HBase 表信息数据不依赖 MySQL 存储
  3. 项目结构调整,代码优化,引用 hbase-sdk 2.0.3
  4. 优化 HBase 表创建时的预分区选择功能
  5. HBase 表数据新增功能实现
  6. 还有更多 ......

v2.0.1 2020.09.12

  1. 去除 namespace 定义的 MySQL 表
  2. 去除 family 定义的 MySQL 表
  3. 减少 HBase table 信息表的字段,初始化表数据更加方便
  4. HBase namespace 管理
  5. HBase 表信息管理
  6. HBase 表标签管理
  7. HBase 表数据查询

v1.0.1 2020.08.31

  1. HBase 项目开启
  2. HBase namespace 管理
  3. HBase 表信息管理
  4. HBase 表标签管理
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值