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 数据库端口
文档更新时间: 2025-03-11 21:17   作者:操李红