当前位置: 首页 > article >正文

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

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-standalone
    ports:
      - "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.kler.cn/a/567875.html

相关文章:

  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(5)
  • vue3-print-nb的使用,点击回调
  • 《深度揭秘:生成对抗网络如何重塑遥感图像分析精度》
  • PHP的学习
  • include 与 require 的区别及最佳使用场景
  • 如何正确理解mAP、精度、召回率等概念
  • AQS源码级别解析
  • Redis大key如何处理的?
  • 【Java进阶】java设计模式之单例模式
  • c++_sort函数
  • Java设计模式 —— 【行为型模式】中介者模式(Mediator Pattern)详解
  • 实验环境搭建集锦(docker linux ros2+强化学习环境+linux上单片机串口调试)
  • OpenAI 正式发布 GPT-4.5 模型
  • FastAdmin 与其他后台框架的对比分析
  • 使用AI后为什么思考会变得困难?
  • INT202 Complexity of Algroithms 算法的复杂度
  • 第49天:Web开发-JavaEE应用SpringBoot栈模版注入ThymeleafFreemarkerVelocity
  • JVM垃圾回收机制垃圾回收相关算法垃圾收集器
  • 域名解析ip后如何查询该ip地址
  • 保姆级教程:用Chart.js实现柱状图与折线图联动