Flink同步数据mysql到doris问题合集

ops/2025/3/2 0:54:40/

Flink同步数据mysql到doris

  • 官方同步流程
    • Doris安装
      • 下载地址
      • 导入镜像
      • 启动配置
    • Flink-cdc安装(自制)
      • 下载地址
      • 导入镜像
      • 启动命令
  • 启动问题修复
    • Flink报错Could not acquire the minimum required resources.
    • 作业报错 Mysql8.0 Public Key Retrieval is not allowed
    • 作业报错Connect to 127.0.0.1:8040 [/127.0.0.1] failed: Connection refused (Connection refused)
    • Flink通过Nginx接入Doris最小限度接口

官方同步流程

Streaming ELT 同步 MySQL 到 Doris

Doris安装

下载地址

链接: https://pan.baidu.com/s/1tXt-te-qbfDO1VYgUdk82Q?pwd=nudt 提取码: nudt

导入镜像

docker load -i doris-standalone.tar

启动配置

docker-compose配置如下:

version: '2.1'
services:doris:image: yagagagaga/doris-standaloneports:- "8030:8030"- "8040:8040"- "9030:9030"environment:- TZ=Asia/Shanghai

Flink-cdc安装(自制)

下载地址

链接: https://pan.baidu.com/s/1S0Mlsfey3PqhEM7PEnZ0nA?pwd=82d9 提取码: 82d9

导入镜像

docker load -i flink-cdc-3.2.0.tar

启动命令

docker run -d -p 8081:8081 -v /usr/local/docker/flink/job/:/opt/flink/flink-cdc-3.2.0/job/ --name flink-container alethen/flink-cdc:3.2.0

启动问题修复

Flink报错Could not acquire the minimum required resources.

解决方法是修改配置文件flink-conf.yaml,重新设置任务槽的数量
taskmanager.numberOfTaskSlots(调大点,比如30,50)

作业报错 Mysql8.0 Public Key Retrieval is not allowed

这是因为用户配置的 MySQL 用户 使用的是 sha256 密码认证,需要 TLS 等协议传输密码。一种简单的方法是使允许 MySQL用户 支持原始密码方式访问。

# 赋权命令
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
# 刷新权限
FLUSH PRIVILEGES;

作业报错Connect to 127.0.0.1:8040 [/127.0.0.1] failed: Connection refused (Connection refused)

当使用单例模式部署Doris时,使用命令查询出的be节点Host是127.0.0.1
在这里插入图片描述

如果flink部署在其他服务器上,则需要在flink-cdc的读取配置文件中加入benodes地址,否则默认连接的是127.0.0.1:8040,需要手动调整,修改配置如下
在这里插入图片描述

Flink通过Nginx接入Doris最小限度接口

Doris正常情况会启动很多端口,用如下命令可以查看Doris开放端口

# 查看前端运行情况
SHOW PROC '/frontends';
# 查看后端运行情况
SHOW PROC '/backends';

Nginx转发Doris接口需要使用Nginx的Stream模块,开放8030、8040、9030、9050端口

stream {upstream doris_front_http {server 192.168.38.132:8030;}upstream doris_front_query {server 192.168.38.132:9030;}upstream doris_back_http {server 192.168.38.132:8040;}upstream doris_back_heartbeat {server 192.168.38.132:9050;}server {listen 8030;proxy_pass doris_front_http;}server {listen 9030;proxy_pass doris_front_query;}server {listen 8040;proxy_pass doris_back_http;}server {listen 9050;proxy_pass doris_back_heartbeat;}
}

http://www.ppmy.cn/ops/162368.html

相关文章

Flutter 学习之旅 之 flutter 在 Android 端进行简单的打开前后相机预览 / 拍照保存

Flutter 学习之旅 之 flutter 在 Android 端进行简单的打开前后相机预览 / 拍照保存 目录 Flutter 学习之旅 之 flutter 在 Android 端进行简单的打开前后相机预览 / 拍照保存 一、简单介绍 二、简单介绍 camera 三、安装 camera 四、简单案例实现 五、关键代码 一、简单…

网络安全 | 5G网络安全:未来无线通信的风险与对策

网络安全 | 5G网络安全:未来无线通信的风险与对策 一、前言二、5G 网络的技术特点2.1 超高速率与低延迟2.2 大容量连接与网络切片三、5G 网络面临的安全风险3.1 网络架构安全风险3.2 设备终端安全风险3.3 应用场景安全风险3.4 用户隐私安全风险四、5G 网络安全对策4.1 强化网络…

Milvus高性能向量数据库与大模型结合

Milvus | 高性能向量数据库,为规模而构建Milvus 是一个为 GenAI 应用构建的开源向量数据库。使用 pip 安装,执行高速搜索,并扩展到数十亿个向量。https://milvus.io/zh Milvus 是什么? Milvus 是一种高性能、高扩展性的向量数据…

游戏引擎学习第127天

仓库:https://gitee.com/mrxiao_com/2d_game_3 为本周设定阶段 我们目前的渲染器已经实现了令人惊讶的优化,经过过去两周的优化工作后,渲染器在1920x1080分辨率下稳定地运行在60帧每秒。这个结果是意料之外的,因为我们没有预计会达到这样的…

模拟器游戏多开为什么需要单窗口单IP

模拟器游戏多开时采用单窗口单IP的主要目的是为了规避游戏运营商的反作弊检测机制,降低账号关联风险,并确保多开行为的隐蔽性。以下是具体原因: 1. 避免账号关联封禁 游戏公司通常会通过IP地址、设备指纹(如MAC地址、硬件ID&…

SpringBoot集成Flink-CDC,实现对数据库数据的监听

一、什么是 CDC ? CDC 是Change Data Capture(变更数据获取)的简称。 核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入、 更新以及删除等),将这些变更按发生的顺序完整记录下来&…

多通道数据采集和信号生成的模块化仪器如何重构飞机电子可靠性测试体系?

飞机的核心电子系统包括发电与配电系统,飞机内部所有设备和系统之间的内部数据通信系统,以及用于外部通信的射频设备。其他所有航空电子元件都依赖这些关键总线进行电力传输或数据通信。在本文中,我们将了解模块化仪器(无论是PCIe…

SQL 注入漏洞原理以及修复方法

漏洞名称 :SQL注入 、SQL盲注 漏洞描述:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将&…