tree: 1ba86336b4caec992aad7a94aaf1af05ff6d361a [path history] [tgz]
  1. src/
  2. pom.xml
  3. README.md
rocketmq-connect-jdbc/README.md

rocketmq-connect-jdbc

rocketmq-connect-jdbc 打包

mvn clean install -Dmaven.test.skip=true

rocketmq-connect-jdbc 启动

  • jdbc-source-connector 启动
http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-jdbc-source-connector-name}
?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.jdbc.connector.JdbcSourceConnector",“dbUrl”:"${source-db-ip}",dbPort”:"${source-db-port}",dbUsername”:"${source-db-username}",dbPassword”:"${source-db-password}","rocketmqTopic":"${source-table-name}","mode":"bulk","whiteDataBase":{"${source-db-name}":{"${source-table-name}":{"${source-column-name}":"${source-column-value}"}}},"source-record-converter":"org.apache.rocketmq.connect.runtime.converter.JsonConverter"}

例子

http://localhost:8081/connectors/jdbcConnectorSource?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
"connector-class":"org.apache.rocketmq.connect.jdbc.connector.JdbcSourceConnector","dbUrl":"192.168.1.3","dbPort":"3306","dbUsername":"root","dbPassword":"mysqldb123456",
"rocketmqTopic":"test_table","mode":"bulk","whiteDataBase":{"test_database":{"test_table":{"test_column":"8"}}},
"source-record-converter":"org.apache.rocketmq.connect.runtime.converter.JsonConverter"}
  • jdbc-sink-connector 启动
http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-jdbc-sink-connector-name}
?config={"source-rocketmq":"${runtime-ip}:${runtime-port}","source-cluster":"${broker-cluster}","connector-class":"org.apache.rocketmq.connect.jdbc.connector.JdbcSinkConnector",“dbUrl”:"${sink-db-ip}",dbPort”:"${sink-db-port}",dbUsername”:"${sink-db-username}",dbPassword”:"${sink-db-password}","mode":"bulk","topicNames":"${source-table-name}","source-record-converter":"org.apache.rocketmq.connect.runtime.converter.JsonConverter"}

例子

http://localhost:8081/connectors/jdbcConnectorSink?config={"source-rocketmq":"localhost:9876","source-cluster":"DefaultCluster",
"connector-class":"org.apache.rocketmq.connect.jdbc.connector.JdbcSinkConnector","dbUrl":"192.168.1.2","dbPort":"3306","dbUsername":"root",
"dbPassword":"mysqldb123456","topicNames":"test_table","mode":"bulk","source-record-converter":"org.apache.rocketmq.connect.runtime.converter.JsonConverter"}

注: rocketmq-jdbc-connect 的启动依赖于rocketmq-connect-runtime项目的启动,需将打好的所有jar包放置到runtime项目中pluginPaths配置的路径后再执行上面的启动请求,该值配置在runtime项目下的connect.conf文件中

rocketmq-connect-jdbc 停止

http://${runtime-ip}:${runtime-port}/connectors/${rocketmq-jdbc-connector-name}/stop

rocketmq-connect-jdbc 参数说明

  • jdbc-source-connector 参数说明
KEYTYPEMust be filledDescriptionExample
dbUrlStringYESsource端 DB ip192.168.1.3
dbPortStringYESsource端 DB port3306
dbUsernameStringYESsource端 DB 用户名root
dbPasswordStringYESsource端 DB 密码123456
whiteDataBaseStringYESsource端同步数据白名单,嵌套配置,为{DB名:{表名:{字段名:字段值}}},若无指定字段数据同步,字段名可设为NO-FILTER,值为任意{“DATABASE_TEST”:{“TEST_DATA”:{“name”:“test”}}}
modeStringYESsource-connector 模式,目前仅支持bulkbulk
rocketmqTopicStringNOsource端同步数据的topic名字,必须和要同步的数据库表名一样TEST_DATA
task-divide-strategyIntegerNOtask 分配策略, 默认值为 0,表示按照topic分配任务,每一个table便是一个topic0
task-parallelismIntegerNOtask parallelism,默认值为 1,表示将topic拆分为多少个任务进行执行2
source-rocketmqStringYESsource 端获取路由信息连接到的RocketMQ nameserver 地址192.168.1.3:9876
source-clusterStringYESsource 端获取路由信息连接到的RocketMQ broker clusterDefaultCluster
source-record-converterStringYESsource data 解析org.apache.rocketmq.connect.runtime.converter.JsonConverter
注:1. source/sink配置文件说明是以rocketmq-connect-jdcb为demo,不同source/sink connector配置有差异,请以具体sourc/sink connector为准
    2. rocketmqTopic 在jdbc-source-connector中没有被用到,暂时保留的原因是为了配置显示一致性
  • jdbc-sink-connector 参数说明
KEYTYPEMust be filledDescriptionExample
dbUrlStringYESsink端 DB ip192.168.1.2
dbPortStringYESsink端 DB port3306
dbUsernameStringYESsink端 DB 用户名root
dbPasswordStringYESsink端 DB 密码123456
modeStringYESsource-connector 模式,目前仅支持bulkbulk
topicNamesStringYESsink端同步数据的topic名字,必须和要同步的数据库表名一样TEST_DATA
task-divide-strategyIntegerNOsink端 分配策略, 默认值为 0,表示按照topic分配任务,每一个table便是一个topic0
task-parallelismIntegerNOsink端 parallelism,默认值为 1,表示将topic拆分为多少个任务进行执行2
source-rocketmqStringYESsink端 端获取路由信息连接到的RocketMQ nameserver 地址192.168.1.3:9876
source-clusterStringYESsink端 端获取路由信息连接到的RocketMQ broker clusterDefaultCluster
source-record-converterStringYESsink端 data 解析org.apache.rocketmq.connect.runtime.converter.JsonConverter