1 目标库配置
1.1 创建API订阅客户端
进入 订阅 页面,点击左上角 订阅 按钮,添加API订阅客户端
- 客户端名称:API客户端的名称
- 客户端类型:选择客户端类型为 API客户端
- 容器:为API客户端选择运行的容器,默认是zcbus
- API类型:选择为HBASE即可
- 备注:备注信息
1.2 创建订阅数据库
进入 订阅 页面,点击左上角 数据库管理 按钮,新增订阅数据库,选择订阅数据库类型为HBASE
- label: 订阅数据标签
- server_host:API客户端地址
- server_port:API客户端的ID,即为在 1.1 中创建的API客户端的编号
- host:HBASE服务器IP
- port:ZOOKEEPER的接入端口,即HBASE的客户端接入端口
2 补充说明
2.1 注意事项
- 全量订阅,程序暂时不支持表结构和索引创建,需手动创建表结构
- 重新全量订阅前,需手动清理表,程序暂时不支持清理表
- 订阅前,需要为同步表配置ApplyByKey,设置主键
- 表重建,需要重启client进程,否则程序会按照原来的表结构装载
- 组合主键存在空值时,程序也会将相应的rowkey置空(zcbus-7.6-12-20220314.tar.gz版本支持)
- api长时间插入不返回,需要在订阅端的对应容器中/etc/hosts里配置上HBASE的ip和主机名信息
- 需要开放以下端口:
- hbase.zookeeper.property.clientPort:zookeeper的端口2181
- hbase.regionserver.port:HBase RegionServer绑定的端口默认60020
- hbase.master.port:Hbase的Master的端口默认60000
- 在zcbusrestapi容器中添加/etc/hosts里配置上HBASE的ip和主机名信息,测试链接才会成功,同时需要参考2.2中的校验结果,若2.2手动测试通过则数据订阅不受影响。
2.2 手动检验目标库Hbase(zcbus-8.1-16-20240528.tar.gz版本支持)
`
[root@0d30cd0a2b8b jar]$ java -cp zcbusService.jar com.zcbus.connector.HbaseAccess -h
Usage:--h help --server user/pwd@ip:port hbase ip port 其中user和pwd可使用test/test --table node0.t1 table for insert test, column id,name 目标库需要提前创建测试表
[root@0d30cd0a2b8b jar]# source ../profile
[root@0d30cd0a2b8b jar]# java -cp zcbusService.jar com.zcbus.connector.HbaseAccess -server test@192.168.2.154"">test/test@192.168.2.154:52181 -table test.test
[LV0] connect to hbase 192.168.2.154:52181…
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/zcbus/jar/zcbusService_lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/zcbus/jar/zcbusService_lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property ‘log4j2.debug’ to show Log4j2 internal initialization logging.
[LV0] connect to hbase ok.
[LV0] 2024-05-30 02:24:06: prepare insert data…
[LV0] 2024-05-30 02:24:06: prepare row 1: rowkey[rowkey1] id[1] name[name1]
[LV0] 2024-05-30 02:24:06: prepare row 1: rowkey[rowkey2] id[2] name[name2]
[LV0] 2024-05-30 02:24:06: prepare data ok, 2 rows, insert into hbase…
[LV0] 2024-05-30 02:24:07: insert 2 rows ok.`
2.3 配置目标数据库参数配置
序号 | 参数名 | 参考值 | 是否隐藏 | 描述 |
---|---|---|---|---|
0 | label | - | NO | 标签 |
1 | db_type | HBASE | NO | 数据库类型 |
2 | service_host | 127.0.0.1 | NO | API服务地址 |
3 | service_port | 10000 | NO | API服务端口 |
4 | host | 127.0.0.1 | NO | 数据库IP |
5 | port | 2181 | NO | 数据库端口 |