
从0到1搭建数据中台(3):flinkcdc实现数据从mysql到doris
安装好mysql,并开启binlog日志,找个是flinkcdc的基础安装flink,要启动flinkcdc的任务,可以在flink的web上查看安装doris,配置FE,BE,执行类sql查看表及数据解压flinkcdc,依赖各种connector,上传lib包,编写同步配置文件yaml,设定任务
安装好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中了,并且实时更新的也会同步。
参考:
更多推荐
所有评论(0)