bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

最近,我需要在oracle和redis之间进行数据同步,并发现databus作为中间件。这是linkin的开源项目(奥巴马的拳击段落显示,有必要在linkin上投放简历,这不是一个小开始)。

大多数信息都是英语,并且gradle用作编译和打包工具。在github,https://github.com/linkedin/databus/wiki

上介绍了主要的东西。

共享操作步骤:

1.新用户

脚本:

c78f720322057e53e389102d156179b2.png

命令:

https://www.2cto.com/database/201605/createUser.sh xjglxt xjglxt 192.168.11.129:1521/ORCL1 tbs_xjglxt/mnt/u001/oracle/data/DB \/tmp/createUser.out

2.导入数据(测试库)

3.将字段,视图,包,过程,触发器等添加到数据库中

构建需要监视的表和视图,添加txn(事务编号)字段,类型为数字,将具有表名和视图名的文件放在文件夹中;例如:

0132cfb157dfe384e952057aea67fa66.png

201605

将其放在/database/文件夹中,并为每个要监视的表创建一个选项卡文件和查看文件。对于现有表,您可以导出表结构以监视多个表。.tab和.view文件执行https://www.2cto.com/database/201605/createSchema.sh xjglxt/xjglxt@192.168.11.129:1521/ORCL1/脚本/数据库\ gt;/tmp/createSchema.out作为将包,索引,主键,过程,触发器等添加到数据库中并重复执行,将在sy $ sources表和sync_core_settings表中形成重复的数据,需要删除。

4.生成EventSchema输入databus-util-cmdline \\\\ databus2-cmdline-tools-pkg,执行gradle汇编,解压EventSchema生成工具,输入bin文件夹并执行:https://www.2cto.com/数据库/201605/dbus2-avro-schema-gen.sh-namespace com.linkedin.events.example.xjglxt-recordName Xs \\\\-viewName \ quot; sy \\\\ $ zxxs_xs_jbxx \ quot;-avroOutDir/根目录/databus-master/databus2-example/databus2-example-relay-pkg/schemas_registry-avroOutVersion 1 \\\\-javaOutDir/root/databus-master/databus2-example/databus2-example-person/src/main/java \\\\-数据库jdbc:oracle:瘦:@ @ 192.168.11.129:1521:ORCL1-userName xjglxt-password xjglxt

生成的文件放置在相应的目录中。注意:生成的.avsc文件应放在schemabuss_registry中databus2-example-relay-pkg下的多个表中。-recordName和-viewName属性应修改

5.编写中继和客户端代码,以在数据总线的本机示例人员中复制文件以进行修改a。 sources-person.json->来源-xjgl.json

0ad107c2f71e13adbc440412e1f3e12a.png

为多个监视表编写多个源

b。 PersonRelayServer-> XjglRelayServer(中继端的主类)

aec556c273b13f30a0eec39525239248.png

d。在index.schemas_registry中加入com.linkedin.events.example.xjglxt.Xs.1.avsc

32d212f8e94282427247bdc06cf1b8cf.png

e。 Start-example-relay.sh将PersonRelayServer更改为XjglRelayServer

8ac4c858ba54848f1ad31019a9461649.png

更改为:

5c20c4802d58039208344ec5bf3624da.png

———————————————————————————————————————-客户端

c。 PersonClientMain-\\-> XjglClientMain(客户端上的主类)

62c990966d864c84f9f918fce0db0180.png

f.client_person.properties-\ gt; client_xjgl.properties

35df67e59c4f76e6cbb4a769c5b96cec.png

g。 PersonConsumer-> XjglConsumer在ConsumerCallbackResult方法中编写业务逻辑

h.start-example-client.sh更改了客户端的主类

575300ad519e67bc2123629a2be028ae.png

6.编译并打包到databus2-example-client-pkg和databus2-example-relay-pkg中,运行以下命令:gradle-Dopen_source = true clean assemble test

将tar软件包复制到位于databus-master/build下的databus2-example-client-pkg和databus2-example-relay-pkg下的分发文件夹中,并解压缩并运行https://www。 2cto.com/database/201605/start-example-relay.sh xjgl和https://www.2cto.com/database/201605/start-example-client.sh xjgl

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐