1. 平台简介
从提交第一行代码,到如今 HBaseManager 的功能越来越丰富和完善,已经过去了三个月。这个简单的系统,也极大地方便了我们对 HBase 表的组织和管理工作。
系统目前的功能已经很丰富了,包含多集群切换、命名空间管理、HBase 表的新增、修改和删除,以及 HBase 表的标签管理,快照管理和基本的数据查询、增加和删除等功能。
同时,不同于 HBase 表的 ACL,借助于若依框架本身的角色和权限管理功能,HBaseManager 可以很方便地分配每一个角色相应的权限,使之可以管理对应的数据,从而保证数据安全。
当然,您也可以对 HBaseManager 进行深度定制,以做出更强的系统。所有前端和后台的代码都是基于若依框架进行封装,十分的精简易上手,出错概率低。同时支持移动客户端访问(若依框架的特性)。之后系统会陆续更新越来越多实用的功能。
- 感谢 ruoyi 后台管理系统。
2. 极速体验站点
目前由于蛋壳停止了网络供应,体验站点暂时无法使用,如想快速体验,可以参考下文部署步骤,搭建属于你自己的系统。http://www.jielongping.com:9527/index
3. HBaseManager 功能列表
- namespace 管理:包括 namespace 的创建、删除
- HBase 表管理:表创建、预分区建表(内置三种预分区方案)、表删除、表信息更改、表清空
- 列簇管理:列簇新增、删除、属性修改
- 标签管理:HBase 表的标签管理
- 数据管理:HBase 表数据的查询、新增、删除。
- 多集群管理:多集群切换。
- 监控功能:后续可能会考虑增加丰富的监控功能,以期待代替 HBase 本身的监控界面
- WebShell:基于 Web 的 HBase Shell
- 更多功能:......
4. 若依系统本身功能
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。(后续将考虑整合团队统一的登录中心,ladp 等等)
- 岗位管理:配置系统用户所属担任职务。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
- 参数管理:对系统动态配置常用参数。
- 通知公告:系统通知公告信息发布维护。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 在线用户:当前系统中活跃用户状态监控。
- 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
- 代码生成:前后端代码的生成(java、html、xml、sql)支持 CRUD 下载 。
- 系统接口:根据业务代码自动生成相关的 api 接口文档。
- 服务监控:监视当前系统 CPU、内存、磁盘、堆栈等相关信息。
- 在线构建器:拖动表单元素生成相应的 HTML 代码。
- 连接池监视:监视当前系统数据库连接池状态,可进行分析 SQL 找出系统性能瓶颈。
5. 系统功能截图
5.1 namespace 管理
![56e9e2ac69d0f25be4efd64dd233ecdb.png](https://img-blog.csdnimg.cn/img_convert/56e9e2ac69d0f25be4efd64dd233ecdb.png)
5.2 表管理
新增表
![dde084272e9be39bec1eff9bdab7e415.png](https://img-blog.csdnimg.cn/img_convert/dde084272e9be39bec1eff9bdab7e415.png)
![a60d90d8ca03c47003f47943508ba998.png](https://img-blog.csdnimg.cn/img_convert/a60d90d8ca03c47003f47943508ba998.png)
![132863fc11ad2cb01845e60aeb5b84d9.png](https://img-blog.csdnimg.cn/img_convert/132863fc11ad2cb01845e60aeb5b84d9.png)
表信息列表
![d730b687a1769df940ddd51fa88c41f3.png](https://img-blog.csdnimg.cn/img_convert/d730b687a1769df940ddd51fa88c41f3.png)
查看表详情
![d52a207591c3370bc5db9f7ac6ae6070.png](https://img-blog.csdnimg.cn/img_convert/d52a207591c3370bc5db9f7ac6ae6070.png)
列簇信息,点击表名连接,跳转查看被选择表的列簇信息
![1953ad5cb6397191302a38a812374ff4.png](https://img-blog.csdnimg.cn/img_convert/1953ad5cb6397191302a38a812374ff4.png)
列簇属性修改
可以对列簇的一些属性进行修改,同时支持新增列簇。
![87ab8f6f2b8f17aafa8dadf126096a2c.png](https://img-blog.csdnimg.cn/img_convert/87ab8f6f2b8f17aafa8dadf126096a2c.png)
![b2f33f067dcbbd154b80bf2cf2d7ad2c.png](https://img-blog.csdnimg.cn/img_convert/b2f33f067dcbbd154b80bf2cf2d7ad2c.png)
5.3 表数据管理
查询表数据
数据管理包括数据查看,详情查看,编辑,数据删除等功能
![49d18f171e478948e875df5b0f685331.png](https://img-blog.csdnimg.cn/img_convert/49d18f171e478948e875df5b0f685331.png)
查看表数据详情
![2e4af3a3657b049b588e076f31c6aadf.png](https://img-blog.csdnimg.cn/img_convert/2e4af3a3657b049b588e076f31c6aadf.png)
编辑表数据
![2a0f804e316903d499d4adfa4631a892.png](https://img-blog.csdnimg.cn/img_convert/2a0f804e316903d499d4adfa4631a892.png)
5.4 快照管理
![4ccc896dc2d2a03352f80fd51f96cb99.png](https://img-blog.csdnimg.cn/img_convert/4ccc896dc2d2a03352f80fd51f96cb99.png)
5.5 多集群管理
hbase-manager 2.0.3 开始,新增了多集群管理,我们需要在配置集群中配置多个集群的连接信息,并在管理界面上手动进行集群切换。
配置多集群
![84c3fab2aedd28f16138f429627e0808.png](https://img-blog.csdnimg.cn/img_convert/84c3fab2aedd28f16138f429627e0808.png)
配置文件说明
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](https://img-blog.csdnimg.cn/img_convert/a564c57f92b756a4d17aefc3288a3a76.png)
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
gitee
github
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](https://img-blog.csdnimg.cn/img_convert/725cec6634f941a0c87e55c3cb3cee57.png)
如果想适配自己集群的 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](https://img-blog.csdnimg.cn/img_convert/67b8f4c21db0fb7824dee28b5861e6ea.png)
配置数据源
数据源配置,请编辑 conf/application-druid.yml,各个配置项的作用说明,配置文件中解释的十分详实。
![cbcc2753763c3c4f6dc8eb9cfba4307b.png](https://img-blog.csdnimg.cn/img_convert/cbcc2753763c3c4f6dc8eb9cfba4307b.png)
保证 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
如果有朋友对这个系统比较感兴趣,在体验的过程中,有遇到任何问题,欢迎在公众号里留言。系统其它功能模块的使用文档,可以扫一眼若依的官方文档。
![efa6a6ace84fe739ebe5cd0b30af1988.png](https://img-blog.csdnimg.cn/img_convert/efa6a6ace84fe739ebe5cd0b30af1988.png)
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](https://img-blog.csdnimg.cn/img_convert/606b6f837d609ca44e48136fe88e3f67.png)
https://github.com/CCweixiao/hbase-sdk
![e956ef1e61832f4f3368431de7d64399.png](https://img-blog.csdnimg.cn/img_convert/e956ef1e61832f4f3368431de7d64399.png)
API 地址
https://weixiaotome.gitee.io/hbase-sdk/
![654549f146c6eef3a87d7f596e3ce888.png](https://img-blog.csdnimg.cn/img_convert/654549f146c6eef3a87d7f596e3ce888.png)
8. 更新日志
v2.0.5 2020.11.14
- 多集群切换功能完善
- 项目结构调整,代码优化,引用 hbase-sdk 2.0.5
- 优化 HBase 表数据管理功能,完善表数据的增删改查
- 新增快照管理功能
- HBase 列簇管理功能完善,包括列簇新增、以及参数更新等功能
- 还有更多 ......
v2.0.3 2020.10.08
- 增加多集群的切换功能
- HBase 表信息数据不依赖 MySQL 存储
- 项目结构调整,代码优化,引用 hbase-sdk 2.0.3
- 优化 HBase 表创建时的预分区选择功能
- HBase 表数据新增功能实现
- 还有更多 ......
v2.0.1 2020.09.12
- 去除 namespace 定义的 MySQL 表
- 去除 family 定义的 MySQL 表
- 减少 HBase table 信息表的字段,初始化表数据更加方便
- HBase namespace 管理
- HBase 表信息管理
- HBase 表标签管理
- HBase 表数据查询
v1.0.1 2020.08.31
- HBase 项目开启
- HBase namespace 管理
- HBase 表信息管理
- HBase 表标签管理