首页 > 其他分享 >Flink CDC 同步 demo

Flink CDC 同步 demo

时间:2023-11-09 14:27:11浏览次数:33  
标签:Flink postgres CDC demo flink jar sql mysql ports

  1. 运行 docker-compose.yml 搭建数据库源,官方 mysql 样例数据源无法启动,改用其他 mysql 镜像
version: '2.1'

services:
  postgres:
    image: debezium/example-postgres:1.1
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_PASSWORD=1234
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres


  mysql:
    image: mysql
    ports:
      - "3306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_USER=mysqluser
      - MYSQL_PASSWORD=mysqlpw


  elasticsearch:
    image: elastic/elasticsearch:7.6.0
    environment:
      - cluster.name=docker-cluster
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.type=single-node
    ports:
      - "9200:9200"
      - "9300:9300"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536


  kibana:
    image: elastic/kibana:7.6.0
    ports:
      - "5601:5601"

  1. 在 maven 仓库中没有找到 flink-1.8.0 版本的 elasticsearch 包,改用下载 flink-1.7.0 版本,bin 目录没有 bat 文件,需要上传到 linux 环境执行

  2. 服务器安装 java-11-openjdk,java 8 版本运行会报错,java 17 版本运行 flink-1.7.0 也会报反射相关的错误,所有用官方推荐的 java 11 版本

  3. 默认安装的 mysql 需要先修改时区,不然同步数据时会报错。时区永久生效需要写入 my.cnf

SET GLOBAL time_zone = 'Asia/Shanghai';
  1. 修改 flink 配置 conf/flink-conf.yaml,web 端默认监听 127.0.0.1,改成 0.0.0.0
rest.bind-address: 0.0.0.0
  1. 下载 jar 包,放入到 flink lib 目录下
flink-sql-connector-postgres-cdc-2.4.2.jar
flink-sql-connector-mysql-cdc-2.4.2.jar
flink-sql-connector-elasticsearch7-3.0.1-1.17.jar
  1. 启动 flink
./start-cluster.sh
./sql-client.sh
  1. 录入官方数据库样例数据

  2. flink 创建表,官方给的 shipments 样例数据会报错, shipments 需要添加一行

'slot.name' = 'flink'
  1. 其他步骤参考官方教程,可以顺利同步数据到 elasticsearch

参考链接:
基于 Flink CDC 构建 MySQL 和 Postgres 的 Streaming ETL

标签:Flink,postgres,CDC,demo,flink,jar,sql,mysql,ports
From: https://www.cnblogs.com/iyiluo/p/17819615.html

相关文章

  • Flink(一):flink源码&&导入到IDE
    一、获取源码1、从Git克隆代码gitclonehttps://github.com/apache/flink.git2、maven运行编译mvncleaninstall-DskipTests注:为了加速构建,可以执行如下命令,以跳过测试,QA的插件和JavaDocs的生成:mvncleaninstall-DskipTests-Dfast 二、环境......
  • 即将推出的《深夜拉面》demo游戏版:在PG模拟试玩中倾听客人故事并疗愈心灵
    独立游戏工作室CointinueGames宣布了他们即将在12月中旬推出的《MidnightRamen深夜拉面》(深夜のラーメン)的试玩版。这款游戏将在Steam等平台上推出,并支持简体中文等语言。《深夜拉面》受到了《VA-11Hall-A:CyberpunkBartenderAction赛博朋克酒保行动》和《CoffeeTalk》等游戏......
  • 19、Flink 的Table API 和 SQL 中的自定义函数及示例(3)
    (文章目录)本文介绍了标量聚合函数和表值聚合函数的自定义实现,分别以具体的示例进行展示。特别需要提醒的是表值聚合函数自定义实现时针对emitValue和emitUpdateWithRetract方法的不同版本实现要求,该处在其官网上没有特别的说明,会导致运行异常,具体原因及解决办法在示例2emitUpdat......
  • 单节点flink部署
    单节点flink推荐作用于测试环境,最好不要使用到线上环境一、环境配置:1、安装Java至少1.8版本https://www.cnblogs.com/xiaoyou2018/p/9945272.html2、系统环境变量vi-b/etc/profileexportFLINK_HOME=/opt/flink-1.18.0exportPATH=$PATH:$FLINK_HOME/bin 二、安装f......
  • vue-test -----ListDemo 列表渲染
    <template><h3>数组</h3><button@click="addnums">添加数据</button><pv-for="(item,index)innums":key="index">{{item}}</p></template><script>exportdefault{name:......
  • Flink 内存配置学习总结
    设置进程内存(ProcessMemory)ApacheFlink通过严格控制其各种组件的内存使用,在JVM之上提供高效的工作负载。配置总内存(TotalMemory)FlinkJVM进程的总进程内存(totalprocessmemory)由Flink应用程序消耗的内存(总Flink内存(totalFlinkmemory))和JVM运行进程所消耗的内存......
  • [Flink/Kafka] Flink消费Kafka消息的检查点设置方式 [转载]
    flink消费kafka本机java代码测试flink消费kafka机制flink消费kafka数据,提交消费组offset有三种类型1、开启checkpoint:                         在checkpoint完成后提交 2、开启checkpoint,禁用checkpoint提......
  • Flink之输出算子Data Sink
    DataSink在ApacheFlink中,输出算子(DataSink)用于将数据流发送到外部系统或存储介质中,如数据库、消息队列、文件系统、ApacheKafka等,以便进行后续的持久化、分析或其他操作。输出算子是数据流处理的最后一步,它决定了数据的最终去向。Flink提供了各种内置的输出算子,可支持许多......
  • Google maps api demo
    demo:<!DOCTYPEhtml><html><head><metaname="viewport"content="initial-scale=1.0,user-scalable=no"><metacharset="utf-8"><title>KMLLayers</title><style>......
  • Google maps api demo 2
     demo/***@fileoverviewSampleshowingcapturingaKMLfileclick*anddisplayingthecontentsinasidepanelinsteadof*anInfoWindow*/varmap;varsrc='https://developers.google.com/maps/tutorials/kml/westcampus.kml';/***......