Flink CDC 1.18.1 Oracle 数据同步到postgresql

1、下载flink-1.18.1-bin-scala_2.12.tgz,linux通过:

  wget https://archive.apache.org/dist/flink/flink-1.18.1/flink-1.18.1-bin-scala_2.12.tgz

2、oracle11g客户端安装,下载:

instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-sdk-linux.x64-11.2.0.4.0.zip
instantclient-sqlplus-linux.x64-11.2.0.4.0.zip

以上文件,在ORACLE网站下载。

3、配置oracle客户端:

[root@wn1 ~]# ls /usr/local/
[root@wn1 ~]# cp instantclient-* /usr/local
[root@wn1 ~]# cd /usr/local
[root@wn1 ~]# unzip instantclient-basic-linux.x64-11.2.0.4.0.zip
[root@wn1 ~]# unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip
[root@wn1 ~]# unzip instantclient-sqlplus-linux.x64-11.2.0.4.0.zip
[root@wn1 ~]# mv instantclient_11_2 oracle_11
[root@wn1 ~]# rm instantclient-*
[root@wn1 ~]# vi /etc/profile
#增加以下内容
export ORACLE_HOME=/usr/local/oracle_11
export PATH=.:${PATH}:$ORACLE_HOME
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME#保存退出,执行
[root@wn1 ~]# source /etc/profile#修改ld配置
[root@wn1 ~]#  vi /etc/ld.so.conf.d/oracle.conf
#写入内容
/usr/local/oracle_11
#保存退出,执行
[root@wn1 ~]#ldconfig
#配置oracle连接参数
[root@wn1 ~]# mkdir -p network/admin/
[root@wn1 ~]# cd network/admin/
#找一个tnsnames.ora文件,直接上传到服务器
[root@wn1 ~]# cp /root/tnsnames.ora ./#测试连接
[root@wn1 ~]# sqlplus sys/manager@//192.168.56.1/orcl
SQL*Plus: Release 11.2.0.4.0 Production on Sun Mar 24 18:04:15 2024Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL>

4、配置oracle数据库,启用归档日志,这步需要参考:https://nightlies.apache.org/flink/flink-cdc-docs-release-3.0/zh/docs/connectors/legacy-flink-cdc-sources/oracle-cdc/

5、下载oracle cdc 连接器

wget https://maven.aliyun.com/repository/public/com/ververica/flink-sql-connector-oracle-cdc/3.0.1/flink-sql-connector-oracle-cdc-3.0.1.jar

解压:

tar zxvf flink-1.18.1-bin-scala_2.12.tgz

将flink-sql-connector-oracle-cdc-3.0.1.jar复制到flink-1.18.1/lib目录中

6、下载 flink-connector-jdbc-3.1.1-1.17.jar,postgresql-42.7.3.jar

https://repo1.maven.org/maven2/org/apache/flink/flink-connector-jdbc/3.1.1-1.17/flink-connector-jdbc-3.1.1-1.17.jar

https://jdbc.postgresql.org/download/postgresql-42.7.3.jar

将jar包复制到flink-1.18.1/lib目录中

7、安装postgresql就不说了,相信你已经有了数据库了

8、修改Flink的配置文件 /home/flink/flink-1.18.1/conf/flink-conf.yaml ,主要是各种服务的绑定地址,默认为localhost,统统改为0.0.0.0,如:rest.address: 0.0.0.0 #localhost
9、启动

[flink@cn1 bin]$ ./start-cluster.sh
[flink@cn1 bin]$ ./sql-client.sh
Flink SQL>
#创建ORACLE源表SET execution.checkpointing.interval = 3s;create table SYS_DIC_DEPT
(DEPT_CODE       STRING,DEPT_NAME       STRING,DEPT_ADDR       STRING,DEPT_MEMO       STRING,DEPT_FLAG       STRING,DEPT_GZYZLTJFLAG STRING,DEPT_UPPER       STRING,PRIMARY KEY (DEPT_CODE) NOT ENFORCED
)WITH ('connector' = 'oracle-cdc','hostname' = '192.168.56.1','port' = '1521','username' = 'username','password' = '123456','database-name' = 'ORCL','schema-name' = 'schema-name','table-name' = 'table-name','debezium.log.mining.strategy'='online_catalog','debezium.log.mining.continuos.mine'='true','debezium.snapshot.mode' = 'initial','debezium.database.tablename.case.insensitive'='true');Flink SQL> select * from SYS_DIC_DEPT;

看不数据,请检查ORACLE的字段是否全部大写

10、创建PG Sink:

Flink SQL>
create table sys_dic_dept_sink
(dept_code       STRING PRIMARY KEY,dept_name       STRING,dept_addr       STRING,dept_memo       STRING,dept_flag       STRING,dept_gzyzltjflag STRING,dept_upper       STRING,PRIMARY KEY (dept_code) NOT ENFORCED
)
with(
'connector' = 'jdbc',
'url' = 'jdbc:postgresql://192.168.56.90:5432/postgres?currentSchema=public', 
'username' = 'postgres',
'password' = '123456',  
'table-name' = 'sys_dic_dept'
);

11、抽数据

Flink SQL> insert into sys_dic_dept_sink select * from SYS_DIC_DEPT;

12、查看任务执行 http://192.168.56.90:8081/#/job/running

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/767901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(65)整数的各位积和之差(66)统计一致字符串的数目

文章目录 1. 每日一言2. 题目(65)整数的各位积和之差3. 解题思路4. 代码5. 题目(66)统计一致字符串的数目6. 解题思路7. 代码8. 结语 1. 每日一言 无论你对此生的决定为何,一定要真诚地对待自己。 —《卧虎藏龙》- 2.…

结构体类型详细讲解(附带枚举,联合)

前言: 如果你还对结构体不是很了解,那么本篇文章将会从 为什么存在结构体,结构体的优点,结构体的定义,结构体的使用与结构体的大小依次介绍,同样会附带枚举与联合体 目录 为什么存在结构体: 结构…

【Linux 驱动基础】IMX6ULL LED基础驱动

本机使用的是正点原子的IMX6ULL开发板 # 前置知识 IMX6ULL GPIO控制框图: GPIO控制代码大概分为几个流程:开启时钟、设置IO复用、设置IO属性、配置IO方向、设置IO输出电平,下面以IMX6ULL为例, 1. 开启时钟 参考资料&#xff1a…

C 语言的关键字 static 和 C++ 的关键字 static 有什么区别 / C++中,a和a有什么区别?

一、C 语言的关键字 static 和 C 的关键字 static 有什么区别 C语言和C中的关键字static在用法和语义上有一些相似之处,但也存在一些细微的差别。 在C语言中,static关键字主要用于以下三个方面: 修饰全局变量或函数:使用static…

深入理解 Docker 镜像

1. Docker 镜像的底层原理 1.1 分层的镜像 以我们的pull 命令为例,在下载的过程中我们可以看到docker的镜像好像是一层一层的在下载。 1.2 UnionFS(联合文件系统) 联合文件系统是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次…

自学python指导教程

要系统地自学Python,可以按照以下步骤进行: 学习基础知识: 从Python的基础语法开始学习,如变量、数据类型、运算符等。理解Python中的控制流程,如条件语句和循环结构。学习函数的定义和使用。了解Python中常用的数据结…

MPI4.1文档翻译(持续更新)

本博客参考官方文档进行介绍,全网仅此一家进行中文翻译,走过路过不要错过。 官方网址:https://www.mpi-forum.org/ 参考文档:https://www.mpi-forum.org/docs/mpi-4.1/mpi41-report.pdf 引用官方4.1文档方法: manu…

2024最新华为OD机试试题库全 -【局域网中的服务器个数】- C卷

1. 🌈题目详情 1.1 ⚠️题目 在一个机房中,服务器的位置标识在 n*m 的整数矩阵网格中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网。 请你统计机房中最大的局域网包含的服务器个数。 1.2 …

linux下使用迅雷的完美办法(网络版免费),其他下载工具

迅雷有自家服务器的支持,因此,其他下载器,可能难以匹敌 ? linux下使用迅雷的完美办法(免费) https://blog.csdn.net/lqrensn/article/details/8853949 网络版 Linux下安装并使用迅雷 https://www.lxlin…

牛客题霸-SQL进阶篇(刷题记录一)

本文基于前段时间学习总结的 MySQL 相关的查询语法,在牛客网找了相应的 MySQL 题目进行练习,以便加强对于 MySQL 查询语法的理解和应用。 由于涉及到的数据库表较多,因此本文不再展示,只提供 MySQL 代码与示例输出。 部分题目因…

化工企业能源在线监测管理系统,智能节能助力生产

化工企业能源消耗量极大,其节能的空间也相对较大,所以需要控制能耗强度,保持更高的能源利用率。 化工企业能源消耗现状 1、能源管理方面 计量能源消耗时,计量器具存在问题,未能对能耗情况实施完全计量,有…

P - Beat

题目分析 1.看数据范围&#xff0c;大概知道dfs能做 2.自0问题开始查找&#xff0c;确保之后每次查找到的问题的困难度均大于上一次 3.遍历所有情况再记录cnt即可 代码 #include <iostream> #include <algorithm> #include <cstdio> #include <cstring&…

使用easyexcel生成动态头,实时生成头写入,加对应的列

测试类 参考链接&#xff1a;动态头&#xff0c;实时生成头写入 package org.springblade.modules.api.controller;import com.alibaba.excel.EasyExcel; import com.alibaba.excel.metadata.Sheet; import com.alibaba.excel.write.metadata.style.WriteCellStyle; import c…

蓝桥集训之矩形牛棚

蓝桥集训之矩形牛棚 核心思想&#xff1a;单调队列 模板&#xff1a;Acwing.131.直方图矩形面积首先遍历所有下界 然后确定以该下界为底的直方图 求最大矩形 #include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N 30…

【13】vue2和vue3对比

vite: https://github.com/vitejs/vite 面试题:谈谈你对 vite 的理解,最好对比 webpack 说明 webpack 原理图 vite 原理图 面试题答案: webpack 会先打包,然后启动开发服务器,请求服务器时直接给予打包结果。 而 vite 是直接启动开发服务器,请求哪个模块再对该模块进行实…

30-2 越权漏洞

一、定义: 攻击者利用业务的设计缺陷&#xff0c;获取敏感信息或破坏业务完整性。本质是程序逻辑输入管控不严&#xff0c;未对用户数据进行严格把控&#xff0c;导致程序不能正常处理或处理错误。常见于登录注册、密码找回、信息查看、交易支付等场景。 二、类型: 未授权访…

常见的密码的分类和用途场景原理

一、按用途和管理分类 核心密码&#xff1a; 使用场景&#xff1a;专门用于保护国家最高等级的绝密信息&#xff0c;常见于政府、军队、外交等领域的重要通信及数据加密。特点&#xff1a;极高安全性&#xff0c;由国家密码管理部门统一严格管理&#xff0c;具体算法和密钥严格…

【C语言进阶篇】动态内存管理(一)

个人主页&#xff1a; 倔强的石头的博客 系列专栏 &#xff1a;C语言指南 C语言刷题系列 待补充完善

Linux的一些基本指令

​​​​​​​ 目录 前言&#xff1a; 1.以指令的形式登录 2.ls指令 语法&#xff1a; 功能&#xff1a; 常用选项&#xff1a; 3.pwd指令 4.cd指令 4.1 绝对路径与相对路径 4.2 cd .与cd ..&#xff08;注意cd后先空格&#xff0c;然后两个点是连一起的&#xff0…

华为od真题--2023C卷-地图寻宝华为OD真题题解

小华地图寻宝 题目描述 小华按照地图去寻宝&#xff0c;地图上被划分成m行和n列的方格&#xff0c;横纵坐标范围分别是[0,n-1]和[0,m-1]。在横坐标和纵坐标的数位之和不大于k的方格中存在黄金(每个方格中仅存在一克黄金)&#xff0c;但横坐标和纵坐标之和大于k的方格存在危险不…