赞
踩
涉及技术或组件 | version |
---|---|
Linux | CentOS-Stream-9 |
Docker | 26.0.0 |
Java | jdk8 |
Flink | 1.18.1 |
Doris | 2.0.4 |
Flink-cdc | 3.0.1 |
DolphinScheduler | 3.2.1 |
1、更新yum
sudo yum update
2、卸载docker旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3、添加镜像库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、安装
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5、启动
systemctl start docker
1、拉取镜像
docker pull mysql
2、启动mysql
docker run -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=@Abc123455 --name mysql -d mysql:latest
3、设置mysql时区
show variables like '%time_zone%';
SET time_zone = 'Asia/Shanghai';
SET @@global.time_zone = 'Asia/Shanghai';
SELECT @@global.time_zone;
show variables like '%time_zone%';
4、拉取postgres
docker pull postgres:alpine3.19
5、启动postgres
mkdir -p /home/pgdata
docker run --name pg_p -v /home/pgdata/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=@Abc123455 -p 5432:5432 -d postgres:alpine3.19
1、下载jdk安装包
2、linux创建文件夹
mkdir /usr/local/java
3、jdk安装包放入文件夹内
4、解压
tar -zxvf jdk-8u351-linux-x64.tar.gz
5、更改环境变量
vim /etc/profile
添加
export JAVA_HOME=/usr/local/java/jdk8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
6、重载配置
source /etc/profile
7、检查是否生效
java -version
8、防止重启后重新重载配置
vim ~/.bashrc
添加
source /etc/profile
1、设置 上海 UTC+8 时区
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2、保持硬件时区与系统时区一致
timedatectl set-local-rtc 1
1、拉取镜像
docker pull flink:1.18.1-scala_2.12-java8
2、创建docker网络
docker network create mynet
3、启动jobmanager(master节点,管理程序,负责调度job运算)
docker run -d --name jm --network mynet -p 8081:8081 -e JOB_MANAGER_RPC_ADDRESS=jm -e TZ=Asia/Shanghai flink:1.18.1-scala_2.12-java8 jobmanager
启动两个taskmanager(真正运算task的节点)
docker run -d --name tm1 --network mynet -e JOB_MANAGER_RPC_ADDRESS=jm -e TZ=Asia/Shanghai flink:1.18.1-scala_2.12-java8 taskmanager
docker run -d --name tm2 --network mynet -e JOB_MANAGER_RPC_ADDRESS=jm -e TZ=Asia/Shanghai flink:1.18.1-scala_2.12-java8 taskmanager
4、然后可以通过8081打开管理页面,查看集群状态
1、下载压缩包
2、解压
tar -zxvf apache-doris-2.0.4-bin-arm64.tar.gz
3、修改linux内核参数
sysctl vm.max_map_count
sudo sysctl -w vm.max_map_count=2000000
4、启动fe
cd apache-doris-x.x.x/fe
修改 FE 配置文件 conf/fe.conf
vim conf/fe.conf
添加 priority_networks 参数
priority_networks=172.23.16.0/24
添加元数据目录
meta_dir=/path/your/doris-meta
启动
./bin/start_fe.sh --daemon
使用mysql连接fe
mysql -uroot -P9030 -h127.0.0.1
查看fe运行状态:
show frontends\G;
5、启动be
cd apache-doris-x.x.x/be
修改 BE 配置文件 conf/be.conf
vim conf/be.conf
添加 priority_networks 参数
priority_networks=172.23.16.0/24
添加元数据目录
storage_root_path=/path/your/data_dir
启动
./bin/start_be.sh --daemon
添加 BE 节点到集群
通过 MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中
ALTER SYSTEM ADD BACKEND "be_ip:9050";
6、验证启动
参考文档
Mysql往Doris同步数据
1、准备数据
Mysql:
-- 创建数据库 CREATE DATABASE app_db; USE app_db; -- 创建 orders 表 CREATE TABLE `orders` ( `id` INT NOT NULL, `price` DECIMAL(10,2) NOT NULL, PRIMARY KEY (`id`) ); -- 插入数据 INSERT INTO `orders` (`id`, `price`) VALUES (1, 4.00); INSERT INTO `orders` (`id`, `price`) VALUES (2, 100.00); -- 创建 shipments 表 CREATE TABLE `shipments` ( `id` INT NOT NULL, `city` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`) ); -- 插入数据 INSERT INTO `shipments` (`id`, `city`) VALUES (1, 'beijing'); INSERT INTO `shipments` (`id`, `city`) VALUES (2, 'xian'); -- 创建 products 表 CREATE TABLE `products` ( `id` INT NOT NULL, `product` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`) ); -- 插入数据 INSERT INTO `products` (`id`, `product`) VALUES (1, 'Beer'); INSERT INTO `products` (`id`, `product`) VALUES (2, 'Cap'); INSERT INTO `products` (`id`, `product`) VALUES (3, 'Peanut');
Doris创建数据库:
create database app_db;
2、下载flink-cdc-3.0.1压缩包
3、解压,并将文件夹改名为flink-cdc
tar -zxvf flink-cdc-3.0.1-bin.tar.gz
mv flink-cdc-3.0.1 flink-cdc
4、下载以下两个jar包放入flink-cdc的lib文件夹下
flink-cdc-pipeline-connector-mysql-3.0.1.jar
flink-cdc-pipeline-connector-doris-3.0.1.jar
5、进入文件夹,新建mysql-to-doris.yaml文件:
cd flink-cdc
vim mysql-to-doris.yaml
source: type: mysql hostname: localhost port: 3306 username: root password: 123456 tables: app_db.\.* server-id: 5400-5404 server-time-zone: Asia/Shanghai 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
6、最后,提交任务到 Flink 服务
将fllink-cdc复制入Flink容器内再运行:
docker cp flink-cdc jm:/opt
进入容器
docker exec -it jm /bin/bash
返回上一级文件夹,可以看到flink-cdc已被复制进来
进入flink-cdc文件夹下运行flink-cdc:
cd flink-cdc
bash bin/flink-cdc.sh mysql-to-doris.yaml
7、验证运行成功
更改Mysql中数据或表结构,Doris中同步进行了修改
# 启动 Standalone Server 服务
./bin/dolphinscheduler-daemon.sh start standalone-server
# 停止 Standalone Server 服务
./bin/dolphinscheduler-daemon.sh stop standalone-server
# 查看 Standalone Server 状态
./bin/dolphinscheduler-daemon.sh status standalone-server
4、教学视频
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。