一款简约大气的HBase表管理系统

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

    5. 系统功能截图

    5.1 namespace管理

    5.2 表管理

    新增表

    表信息列表

    查看表详情

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

    列簇属性修改

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

    5.3 表数据管理

    查询表数据

    查看表数据详情

    5.4 快照管理

    5.5 多集群管理

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

    配置多集群

    配置文件说明

    hbase.manager.zk.cluster.alias=localhostlocalhost.hbase.quorum=localhostlocalhost.hbase.zk.client.port=2181localhost.hbase.node.parent=/hbase# 客户端其他配置多个以;隔开localhost.hbase.client.properties=hbase.client.retries.number=3# 过滤有些命名空间和表localhost.hbase.filter.namespace.prefix=SYSTEMlocalhost.hbase.filter.tableName.prefix=KYLIN

    切换集群

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

    6. 快速体验

    6.1 clone源码

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

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

    gitee

    github

    6.2 编译项目

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

    cd hbase-managermvn clean package -Dmaven.test.skip=true -Phbase1.x ormvn 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目录下找到我们打包的安装包。

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

    如果只是想抢鲜体验的话,这里提供编译好的安装包,整个系统配置简单,部署方便。 默认提供安装包基于的HBase版本分别为1.4.3和2.1.0

    安装包下载地址: 链接
    :https://pan.baidu.com/s/1Z51tELHpkhCpE1_vzzf__g 密码:jgo5

    6.3 安装部署

    示例命令:

    tar -zxvf hbase-manager-2.0.5.tar.gzrm -f hbase-manager-2.0.5.tar.gzcd /opt/hbase-manager-2.0.5

    hbase-manager的目录结构:

    配置数据源

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

    配置多集群切换

    系统级别的配置

    一些示例命令:

    # 系统配置非常简单,配置完后就可以启动系统了cd /opt/hbase-manager-2.0.5nohup 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

    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

    https://github.com/CCweixiao/hbase-sdk

    API地址

    https://weixiaotome.gitee.io/hbase-sdk/

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2020年10月22日
    下一篇 2020年10月22日

    相关推荐