返回首页

gbase数据、南大通用产品文档:GBase8a库级别同步

更新日期:2024年09月11日

库级别增量同步要求源数据库与目标数据库下的所有表的表名及列名完全
一致。如果有部分表不需要同步,可以使用排除表功能排除掉这些表。
下面按照步骤详细介绍:
修改任务文件config_task.xml,该文件在读端,管理端各有一份,如果
同步工具安装后再修改该文件请确保两处配置文件一致。


id="server1"
mqType="kafka" queueName="8tto8aMQ" dataRecoveryMode="file"
isHighAvailable="false">
httpPort="8080" isTableHotPatch="true"/>
readParseAdapter="adapter" user="root" password="root" queueSize="10000"
openMonitor="true" monitorInterval="300" rpcPort="9191" sshPort="22"/>

id="8t_8a_5.1_5.2">


GBase RTSync 同步工具手册
- 136 -
南大通用数据技术股份有限公司
charset="UTF8"
type="SQLSERVER"
startLSN="0"
fetchSize="500"
maxRecordsPerRead="200"
maxSizeOfPerRecord="1024"
timeOut="2"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://192.168.4.206:1433;DatabaseName=master "
user="cdccp"
password="sqlserver"
catalog="test"
columnTypeFormat="time=hh:mm:ss.SSSSSS;date=yyyy-MM-dd;datetime=yyyy
-MM-dd HH:mm:ss.SSSSSS;smalldatetime=yyyy-MM-dd
HH:mm:ss.SSSSSS;datetime2=yyyy-MM-dd HH:mm:ss.SSSSSS"
>

charset="UTF8"
type="GCLUSTER"
commitSize="100"
queueSize="20000"
user="gbase"
password="gbase20110531"
driver="com.gbase.jdbc.Driver"
catalog="testdb"
timeOut="2"
isInitMetadata="false"
url="jdbc:gbase://192.168.5.5:5258/gbase?useOldAliasMetadataBehavior
=true&rewriteBatchedStatements=true&connectTimeout=0&socketT
imeout=0"
>





GBase RTSync 同步工具手册
南大通用数据技术股份有限公司
- 137 -

sourcePkColName="" targetTableName="" targetPkColName="" />

sourcePkColName="" targetTableName="t2" targetPkColName="" />






修改消息队列配置文件:config_kafka_8tto8aMQ.properties。

GBase RTSync 同步工具手册
- 138 -
南大通用数据技术股份有限公司
#kafka 主题
topic.name=8tto8a
#producer conf
#kafka集群ip及服务端口
bootstrap.servers=192.168.5.11:9092,192.168.5.12:9092
#批量发送数据到kafka的批次数
kafka.batch.commit.count=400
#批量发送数据到kafka等待的超时时间,单位毫秒
kafka.batch.commit.time=100
#kafka 发送数据到kafka异常重发的次数,超过该次数仍然未成功同步工具将退出服务
kafka.resend.max.retries=3
#kafka 接收数据的应答机制。
0代表立即返回,
无论数据是否成功写入kafka;1代表leader
节点成功写入磁盘后才返回结果;all代表所有节点都要写入磁盘才返回结果。根据数据安
全性要求可以实际配置。
kafka.acks=all
#kafka生产者其他必要参数配置,参数信息为标准的kafka生产者参数。
kafka.producer.paramers=request.timeout.ms=30000;metadata.fetch.timeout.
ms=30000
#consumer conf
#kafka所使用zookeeper信息
zookeeper.connect=192.168.5.21:2181,192.168.5.22:2181,192.168.5.23:2181
#kafka消费者组名称
group.id=test
#自动提交时间间隔,一般不用修改
auto.commit.interval.ms=1000
#zookeeper follower能落后leader多久还被认为是活着的
zookeeper.sync.time.ms=2000
#zookeeper session超时时间,如果这段时间没有收到zk的心跳,则认为kafka服务异常
zookeeper.session.timeout.ms=4000
#发送数据到kafka单条数据的最大值,单位字节,超过该大小经进行分包发送
send.data.max.size=1000000
#从kafka获取单条数据的最大值,单位字节,该值应该大于等于send.data.max.size
fetch.message.max.bytes=1000000
完成后,既可启动同步工具。使用root 用户登录192.168.5.3,执行如下

GBase RTSync 同步工具手册
南大通用数据技术股份有限公司
- 139 -
命令启动同步工具组件:
# cd /opt/RTSync /
# sh RTSyncManagerServer.sh start
启动后,同步工具将开始同步数据工作。
可以使用如下命令监控同步工具运行状况。
# tail -f logs/sync.log

删除 plogspace
(SQL
管理 API)
随同 admin() 或 task() 函数,使用 drop plogspace 参数来删除 plogspace。
语法

用法
要删除的 plogspace 必须为空。例如,如果您将物理日志移出 plogspace 并通过运行
onparams -p 命令移入 dbspace,则可删除该 plogspace。要不,您可通过创建新的
plogspace 将 plogspace 移到不同的 chunk。自动地移除旧的 plogspace。
这个函数等同于 onspaces -d 命令。
示例
下列示例删除 plogspace:
EXECUTE FUNCTION task("drop plogspace");

序列是数据库对象,它生成已定义范围内的整个数字序列。数字序列可以按升序或降序运
行,并且是单调的。有关序列的更多信息,请参阅《GBase 8s SQL 指南:语法》。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 11 -