Canal mysql数据库同步到es

发布于:2024-12-06 ⋅ 阅读:(222) ⋅ 点赞:(0)

Canal与Elasticsearch集成指南

[可视化工具](https://knife.blog.csdn.net/article/details/126348055)

下载Canal 1.1.5版本 (alpha-2)

请从GitHub Releases下载Canal 1.1.5版本中间版本alpha-2。仅需下载canal.deployercanal.adapter组件。

安装Elasticsearch

确保已安装Elasticsearch 7.10.0 Windows x86_64版本。

配置Canal Deployer

编辑文件路径为F:\cxes\canal.deployer-1.1.5-SNAPSHOT\conf\example的配置文件:

canal.instance.master.address=127.0.0.1:3306   # 数据库地址
canal.instance.dbUsername=root                # 数据库账号
canal.instance.dbPassword=root                # 数据库密码

配置Canal Adapter

修改bootstrap.yml
编辑文件路径为F:\cxes\canal.adapter-1.1.5-SNAPSHOT\conf\bootstrap.yml的配置文件如下:

server:
  port: 8081
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
    default-property-inclusion: non_null

canal.conf:
  mode: tcp # kafka rocketMQ
  canalServerHost: 127.0.0.1:11111
  batchSize: 500
  syncBatchSize: 1000
  retries: 0
  srcDataSources:
    defaultDS:   # 数据源名称
      url: jdbc:mysql://127.0.0.1:3306/newdata?useUnicode=true
      username: root
      password: root
  canalAdapters:
    - instance: example # canal instance Name or mq topic name
      groups:
        - groupId: g1
          outerAdapters:
            - name: logger
            - name: es7    # es7文件目录
              hosts: 127.0.0.1:9200  # ES的访问地址
              properties:
                mode: rest     # 配置es7
                cluster.name: elasticsearch     # ES的名称

修改ES7配置

编辑文件路径为F:\cxes\canal.adapter-1.1.5-SNAPSHOT\conf\es7的配置文件如下:

dataSourceKey: defaultDS # 源数据源的key, 对应上面配置的srcDataSources中的值
destination: example     # canal的instance或者MQ的topic
groupId: g1             # 对应MQ模式下的groupId, 只会同步对应groupId的数据
esMapping:
  _index: order_20241129 # es 的索引名称
  _id: _id               # es 的_id, 如果不配置该项必须配置下面的pk项_id则会由es自动分配
  sql: "SELECT id as _id,NAMES AS frame_order_code,
                phton AS buyer_id,
                msg AS buyer_name
                FROM jiedao"        # sql映射
  commitBatch: 3000                 # 提交批大小

网站公告

今日签到

点亮在社区的每一天
去签到