从0到1搭建数据中台(3):flinkcdc实现数据从mysql到doris

安装好mysql,并开启binlog日志,这个是flinkcdc同步的基础

安装flink,要启动flinkcdc的任务,可以在flink的web上查看

安装doris,配置FE,BE,执行类sql查看表及数据

解压flinkcdc,依赖各种connector,上传lib包,编写同步配置文件yaml,设定任务

一、doris安装

根据官方文档一步一步来就行

快速体验 Apache Doris - Apache Doris

安装doris踩坑:真是的坑了好几个小时。

./start_be.sh: 行 325: 11605 段错误 ${LIMIT:+${LIMIT}} "${DORIS_HOME}/lib/doris_be" "$@" 2>&1 < /dev/null

参考: doris 启动be报错

按照这个改了还是不行,服务器都搞重启了

后来还是改了jdk版本,从jdk11改成了jdk8就可以了。

访问不了web,关闭下服务器防火墙

systemctl stop firewalld

http://192.168.1.213:8030/home

二、mysql安装

下载几个安装包之后,依次安装即可

#!/bin/bash

yum -y install dos2unix
yum -y install libaio
yum -y install numactl
yum -y install net-tools
yum -y install perl


# 修改编码和语言
# 使用sed进行替换
sed -i 's/en_US.UTF-8/zh_CN.GBK/g' /etc/locale.conf

# 修改时区
timedatectl set-timezone Asia/Shanghai

rpm -ivh /opt/app/mysql/mysql-community-common-5.7.43-1.el7.x86_64.rpm
rpm -ivh /opt/app/mysql/mysql-community-libs-5.7.43-1.el7.x86_64.rpm
rpm -ivh /opt/app/mysql/mysql-community-client-5.7.43-1.el7.x86_64.rpm
rpm -ivh /opt/app/mysql/mysql-community-server-5.7.43-1.el7.x86_64.rpm
nohup systemctl start mysqld > /dev/null 2>&1 &

这里执行 systemctl start mysqld 时候提示:

Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

表示配置/etc/my.cnf 有问题

因为flincdc 需要mysql 开启binlog,可能配置my.cnf文件有问题

通过查看日志:tailf /var/log/mysqld.log来判断错误缘由。

权限问题:

mysqld: File '/var/log/mysql/mysql-bin.index' not found (Errcode: 13 - Permission denied)

解决办法:

chown -R mysql:mysql /var/log/mysql

如果都不行的话,卸载mysql了重新安装。

直接:yum remove mysql mysql-server

删除文件:

rm -rf /var/lib/mysql/

rm /etc/my.cnf

再重新安装

三、flink安装

官网下载版本:flink-1.18.0-bin-scala_2.12.tgz

解压后类似jdk配置环境变量

执行:

source /etc/profile
./bin/start-cluster.sh

web端即可访问

四、flinkcdc安装

下载flink-cdc-3.0.0-bin.tar.gz版本

上传解压,会有四个目录,包含 bin、lib、log、conf 

下载下面列出的 connector 包,并且移动到 lib 目录下 下载链接只对已发布的版本有效, SNAPSHOT 版本需要本地基于 master 或 release- 分支编译

编写任务配置文件mysql-to-doris.yaml

################################################################################
 # Description: Sync MySQL all tables to Doris
 ################################################################################
 source:
  type: mysql
  hostname: localhost
  port: 3306
  username: root
  password: 123456
  tables: app_db.\.*
  server-id: 5400-5404
  server-time-zone: UTC
 
 sink:
  type: doris
  fenodes: 127.0.0.1:8030
  username: root
  password: ""
  table.create.properties.light_schema_change: true
  table.create.properties.replication_num: 1
 
 pipeline:
  name: Sync MySQL Database to Doris
  parallelism: 2

里面的账密替换为自己的。

执行命令:

bin/flink-cdc.sh mysql-to-doris.yaml

执行后这里会有一个正在执行的任务

达到的效果就是将mysql中的表同步到doris中了,并且实时更新的也会同步。

参考:

搭建flinkCDC采集mysql到doris环境

大数据Doris(一):Doris概述篇

大数据Doris(二):Doris原理篇

Doris实战-结合Flink构建极速易用的实时数仓

基于 Flink + Doris 体验实时数仓建设

Doris简介、部署、功能介绍以及架构设计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值