HBase-Manager是一个管理Apache HBase的工具。基于Spring Boot和Apache FreeMarker开发。
支持以下功能 :
- 管理多个HBase集群
- 表的管理(create、alter、delete、enable、disable),定时进行compact
- 数据预览
- 数据快照(定时生成快照、管理表快照)
- 数据迁移(多个集群之间进行表的迁移备份)
- 数据同步(多个集群之间表的实时同步。基于HBase Replication特性)
- 数据统计(统计表各列族最大行的字节数、最大行的rowkey、表分区url。爬取HBase Web页面获取)
- jdk >= 1.8
- Maven >= 3.3
在源码根目录下,执行:
mvn package
完成编译后,在源码根目录下的target目录中会生成发布包hbase-manager-1.0-assembly.tar.gz
。该发布包解压后的主要目录结构如下:
- bin:服务启动、停止脚本
- lib:HBase-Manager jar包及所依赖第三方jar包
- conf:HBase-Manager配置文件
- logs:服务运行日志
- docs\db:服务所需的mysql表结构、数据
- linux
- Java >= 1.8
- Mysql >= 5.6
- 初始化数据库:mysql下,执行docs\db目录下的hbase-manager.sql
在HBase-Manager发布包根目录下的conf目录中,分别配置如下文件:
- application*.yml[必填]:配置环境所需要的服务端口、mysql数据源
- quartz.properties[可选]:quartz相关配置
- log4j.properties[可选]:配置日志级别
- 根目录下,执行
bin/start-hbase-manager.sh
- 根目录下,执行
bin/shutdown-hbase-manager.sh
根据application.yml配置的server.server和server.port,在浏览器输入控制台地址,账号/密码:admin/admin
备注:配置迁移任务前,需在RunCluster模块中添加任务运行的代理机。
系统集成简单的用户、权限管理(基于shrio),通过服务URL进行权限控制。
当前工程是基于HBase(1.2.0-cdh5.11.1)、Hadoop(2.6.0-cdh5.11.1)。可自行修改pom文件,编译自己所需的版本。 Hadoop 2.X版本的common、hdfs模块API相对3.X变化较小。 HBase 2.X版本客户端API相对1.X变化较大。如使用HBase2.X,需修改源码com.meiyou.hbase.manager.utils.HBaseFacade类,适配2.X版本。
The project is licensed under the Apache 2 license.