在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:hbase-manager开源软件地址:https://gitee.com/weixiaotome/hbase-manager开源软件介绍:1. 平台简介从提交第一行代码,到如今HBaseManager的功能越来越丰富和完善,已经过去了快一年。这个简单的系统,也极大地方便了我们对HBase表的组织和管理工作。 系统目前的功能已经很丰富了,包含多集群切换、命名空间管理、HBase表的新增、修改和删除,以及HBase表的标签管理,快照管理和基本的数据查询、增加和删除等功能。 同时,不同于HBase表的ACL,借助于若依框架本身的角色和权限管理功能,HBaseManager可以很方便地分配每一个角色相应的权限,使之可以管理对应的数据,从而保证数据安全。 当然,您也可以对HBaseManager进行深度定制,以做出更强的系统。所有前端和后台的代码都是基于若依框架进行封装,十分的精简易上手,出错概率低。 同时支持移动客户端访问(若依框架的特性)。之后系统会陆续更新越来越多实用的功能。
2. 极速体验站点目前由于蛋壳停止了网络供应,体验站点暂时无法使用,如想快速体验,可以参考下文部署步骤,搭建属于你自己的系统。http://www.jielongping.com:9527/index 3. HBaseManager功能列表
4. 若依系统本身功能
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 配置Kerberos认证 如果你的HBase集群是在Kerberos环境下,那么配置文件 示例配置以及配置说明如下: hbase.manager.zk.cluster.alias=node1_dev,localhostnode1_online.hbase.quorum=node2.bigdata.leo.com,node1.bigdata.leo.com,node3.bigdata.leo.comnode1_online.hbase.zk.client.port=2181node1_online.hbase.node.parent=/hbasenode1_online.hbase.client.properties=hbase.client.retries.number=3node1_online.hbase.filter.namespace.prefix=SYSTEMnode1_online.hbase.filter.tableName.prefix=KYLIN# Kerberos相关的配置信息,可以参考集群中的hbase-site.xml配置文件node1_online.hbase.hadoop.security.authentication=kerberosnode1_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# 登录用户principalnode1_online.hbase.kerberos.principal=[email protected]# master 和 regionserver的principalnode1_online.hbase.master.kerberos.principal=hbase/[email protected]node1_online.hbase.regionserver.kerberos.principal=hbase/[email protected]##################################################################localhost.hbase.quorum=localhostlocalhost.hbase.zk.client.port=2181localhost.hbase.node.parent=/hbaselocalhost.hbase.client.properties=hbase.client.retries.number=3localhost.hbase.filter.namespace.prefix=SYSTEMlocalhost.hbase.filter.tableName.prefix=KYLIN 切换集群 点击切换集群,就可以管理不同集群的数据。 5.6 HBase集群指标图表展示进入首页,可以查看集群整体指标以及,HBase集群的读写请求,并支持RegionServer、Region、Namespace、Table级别的每秒读写请求量监控 5.7 为用户分配HBase表往往以业务域划分的HBase表,可能分属于不同的部门或用户。HBase本身的ACL机制可以控制对HBase表资源的管理,但是,不开启ACL的时候,在HBaseManager中也有一套丰富的用户、表权限管理工具。 用管理员账号登录系统,进入用户管理页面,可以为用户分配表 为用户分配表之后,该用户才能操作被分配的表资源,否则,该用户下无法操作任何表 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 -Phbase-1.x ormvn clean package -Dmaven.test.skip=true -Phbase-2.x# 或者执行mvn脚本sh bin/build-hbase-1.x.sh orsh bin/build-hbase-2.x.sh -Phbase-1.x 默认加载hbase1.4.3的client api-Phbase-2.x 默认加载hbase2.1.0的client api 其实,hbase1.4.3的客户端包同样可以操作2.1的集群,仅仅是有些API过时了而已。 如果想完全适配自己集群版本的HBase,还请自行对 打包成功后,在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.7-hbase-2.x.tar.gz/hbase-manager-2.0.7-hbase-1.x.tar.gzcd hbase-manager-2.0.7-hbase-2.x/hbase-manager-2.0.7-hbase-1.xjava -jar hbase-manager-admin-2.0.7.jaror tar -zxvf hbase-manager-2.0.7-hbase-2.x.tar.gz/hbase-manager-2.0.7-hbase-1.x.tar.gzcd hbase-manager-2.0.7-hbase-2.x/hbase-manager-2.0.7-hbase-1.xsh bin/hbase-manager.sh start|stop|status|restart hbase-manager的目录结构: 配置数据源 数据源配置,请编辑conf/application-druid.yml,各个配置项的作用说明,配置文件中解释的十分详实。 保证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.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-sdkHBaseManager项目中有使用到我另一个开源项目hbase-sdk。它是一款简单易上手的hbase ORM框架,针对HBase1和HBase2的API,做了统一的封装,同时可以使用其 项目地址 https://gitee.com/weixiaotome/hbase-sdk https://github.com/CCweixiao/hbase-sdk API地址 https://weixiaotome.gitee.io/hbase-sdk/ 8. HQL8.1 创建HBase表的schema信息基于 在体验SQL之前,你需要定义将要操作表的schema信息。 主页->HBaseTableSchema->添加HBaseSchema 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的方式。 8.2 insert 语句打开HBaseSQL,在SQL编辑框中输入SQL,针对SQL的一些特殊关键字有友好的高亮和提示。只是目前SQL语法对格式要求还比较严格,所以,编写SQL时需要注意空格。 输入insert语法示例: INSERT INTO TEST:USER ( name , age , pay , address ) VALUES ('leo', '17', '232424', 'shanghai') WHERE rowkey is stringkey ('1001') 8.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 10select 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 8.4 delete语句delete语法示例 delete语法中,rowKey以及filter条件与select语句类似 delete * from TEST:USER where rowkey is stringkey ( '1001' ) ( age greater '10' and pay greater '20000' ) 关于更多的语法示例,随着系统功能的完善会一一添加的 9. 更新日志v2.0.9 2022.01.09
v2.0.8 2021.02.06
v2.0.7 2021.01.17
v2.0.6 2020.12.12
v2.0.5 2020.11.14
v2.0.3 2020.10.08
v2.0.1 2020.09.12
v1.0.1 2020.08.31
|
请发表评论