dinky+flink+doris实时架构全流程demo

这篇具有很好参考价值的文章主要介绍了dinky+flink+doris实时架构全流程demo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、版本

doris:doris-1.2.3-rc02
flink:flink1.4.6
dinky:0.7.2
jdk:1.8.0_191
mysql:5.7

二、安装doris

官网下载地址:https://archive.apache.org/dist/doris/1.2/1.2.3-rc02/

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

 dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

#doris单机部署

#创建doris目录
mkdir /opt/module/doris
tar zxvf apache-doris-fe-1.2.3-bin-x86_64.tar.xz -C /opt/module/doris
tar zxvf apache-doris-be-1.2.3-bin-x86_64.tar.xz -C /opt/module/doris

#修改be、fe目录名称
cd /opt/module/doris/
mv apache-doris-be-1.2.3-bin-x86_64 doris_be
mv apache-doris-fe-1.2.3-bin-x86_64 doris_fe


#配置FE

#FE 配置文件 conf/fe.conf,这里我们主要修改两个参数:priority_networks 及 meta_dir

meta_dir = /opt/module/doris/doris-fe/doris-meta
priority_networks=192.168.20.0/24

#端口根据自己需求调整(以防端口冲突)

http_port = 18030
rpc_port = 19020
query_port = 19030
edit_log_port = 19010

#启动FE
/opt/module/doris/doris-fe/bin/start_fe.sh --daemon

#查看 FE 运行状态
#你可以通过下面的命令来检查 Doris 是否启动成功
curl http://127.0.0.1:18030/api/bootstrap
返回如下代表成功:
{"msg":"success","code":0,"data":{"replayedJournalId":0,"queryPort":0,"rpcPort":0,"version":""},"count":0}


#你也可以通过 Doris FE 提供的Web UI 来检查,在浏览器里输入地址
#默认用户 root 进行登录,密码是空
http:// fe_ip:18030

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

 #配置 BE

#修改 BE 配置文件 conf/be.conf ,这里我们主要修改两个参数:priority_networks 及 storage_root

vim /opt/module/doris/doris-be/conf/be.conf
#修改如下内容
priority_networks=192.168.20.0/24
storage_root_path = /opt/module/doris/doris-be/storage

#端口根据自己需求调整(以防端口冲突)
be_port = 19060
webserver_port = 18040
heartbeat_service_port = 19050
brpc_port = 18060

#启动FE
/opt/module/doris/doris-be/bin/start_be.sh --daemon

#添加 BE 节点到集群
#通过MySQL 客户端连接到 FE 之后执行下面的 SQL,将 BE 添加到集群中

mysql -uroot -P19030 -h127.0.0.1

mysql>ALTER SYSTEM ADD BACKEND "be_host_ip:19050";
mysql>SHOW BACKENDS\G

#Alive : true表示节点运行正常

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

 三、安装Flink

#下载地址:Index of /dist/flink/flink-1.14.6

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

#Flink单机部署

#解压:
tar -zxvf flink-1.14.6-bin-scala_2.12.tgz -C /opt/module


#配置flink
vim /opt/module/flink-1.14.6/conf/flink-conf.yaml
#修改配置如下:
rest.bind-address: 0.0.0.0


#配置环境变量
vim /etc/profile
#FLINK_HOME
export FLINK_HOME=/opt/module/flink-1.14.6
export PATH=$PATH:$FLINK_HOME/bin

#相关依赖包下载

#基础依赖包下载:
https://download.csdn.net/download/qq_41060328/87818060
#其余依赖按需自行下载
https://mvnrepository.com/

#将flink自带lib目录备份并用下载的目录替换
mv /opt/module/flink-1.14.6/lib /opt/module/flink-1.14.6/lib_bak
mv flink_lib/ /opt/module/flink-1.14.6/lib

#启动

/opt/module/flink-1.14.6/bin/start-cluster.sh

#访问

flink默认的web ui界面的端口为8081
浏览器访问:http://ip:8081

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

 四、安装Dinky

#下载

http://www.dlink.top/download/dinky-0.7.2

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

 #Dinky单机部署

#解压
tar zxvf dlink-release-0.7.2.tar.gz -C /opt/module/

#将解压文件修改为dinky


#Mysql创建数据库,root用户登陆
mysql>create database dinky;

mysql>grant all privileges on dinky.* to 'dinky'@'%' identified by '密码' with grant option;
mysql>flush privileges;

#dinky用户登陆Mysql
mysql -h xx.xx.xx.xx -udinky -p密码
#初始化数据
mysql>use dinky;
mysql> source /opt/module/dinky/sql/dinky.sql

#配置dinky

#修改 Dinky 连接 mysql 的配置文件。
cd /opt/module/dinky/config/
vim application.yml


spring:
  datasource:
    url: jdbc:mysql://xx.xx.xx.xx:3306/dinky?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: dinky
    password: xxxx
#如果mysql是8.0版本。需要改为com.mysql.cj.jdbc.Driver
    driver-class-name: com.mysql.jdbc.Driver

#添加依赖

依赖下载:https://download.csdn.net/download/qq_41060328/87817727

备份opt/module/dinky/plugins/flink1.14,将下载后的文件上传至/opt/module/dinky/plugins

#启动:

sh /opt/module/dinky/auto.sh start 1.14

浏览器访问 ip:8888

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

五、Dinky+Flink+Doris构建流计算

数据流程:

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

dinky添加flink集群

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

 dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

 dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

mysql建表

-- Mysql学生表
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (
  `sid` int(11) NOT NULL,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`sid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `student` VALUES (1, '小红');
INSERT INTO `student` VALUES (2, '小黑');
INSERT INTO `student` VALUES (3, '小黄');


-- Mysql成绩表
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score`  (
  `cid` int(11) NOT NULL,
  `sid` int(11) NULL DEFAULT NULL,
  `cls` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `score` int(11) NULL DEFAULT NULL,
  PRIMARY KEY (`cid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `score` VALUES (1, 1, 'chinese', 90);
INSERT INTO `score` VALUES (2, 1, 'math', 95);
INSERT INTO `score` VALUES (3, 1, 'english', 93);
INSERT INTO `score` VALUES (4, 2, 'chinese', 92);
INSERT INTO `score` VALUES (5, 2, 'math', 75);
INSERT INTO `score` VALUES (6, 2, 'english', 80);
INSERT INTO `score` VALUES (7, 3, 'chinese', 100);
INSERT INTO `score` VALUES (8, 3, 'math', 60);

 doris建表

-- Doris学生成绩宽表
CREATE TABLE scoreinfo
(
    cid INT,
    sid INT,
    name VARCHAR(32),
    cls VARCHAR(32),
    score INT
)
UNIQUE KEY(cid)
DISTRIBUTED BY HASH(cid) BUCKETS 10
PROPERTIES("replication_num" = "1");

配置作业:

DROP TABLE IF EXISTS student;
CREATE TABLE student (
    sid INT,
    name STRING,
    PRIMARY KEY (sid) NOT ENFORCED
) WITH (
'connector' = 'mysql-cdc',
'hostname' = 'xx.xx.xx.xx',
'port' = '3306',
'username' = 'root',
'password' = 'xxxxxx',
'database-name' = 'flink_test',
'table-name' = 'student'
);

DROP TABLE IF EXISTS score;
CREATE TABLE score (
    cid INT,
    sid INT,
    cls STRING,
    score INT,
    PRIMARY KEY (cid) NOT ENFORCED
) WITH (
'connector' = 'mysql-cdc',
'hostname' = 'xx.xx.xx.xx',
'port' = '3306',
'username' = 'root',
'password' = 'xxxxxx',
'database-name' = 'flink_test',
'table-name' = 'score');

-- enable checkpoint
SET 'execution.checkpointing.interval' = '10s';
DROP TABLE IF EXISTS scoreinfo;
CREATE TABLE scoreinfo (
    cid INT,
    sid INT,
    name STRING,
    cls STRING,
    score INT,
    PRIMARY KEY (cid) NOT ENFORCED
) WITH (       
    'connector' = 'doris',
    'fenodes' = 'xx.xx.xx.xx:18030' ,
    'table.identifier' = 'flink_test.scoreinfo',
    'username' = 'root',
    'password'='xxxxxx',
    'sink.label-prefix' = 'doris_label'
  
);
insert into scoreinfo
select a.cid,a.sid,b.name,a.cls,a.score from score a left join student b on a.sid = b.sid;

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

运行后在flink端查看任务状态

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

 doris结果验证

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

增量测试​

在 Mysql 中执行新增语句:

INSERT INTO `score` VALUES (9, 3, 'english', 100);

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据

变动测试​

在 Mysql 中执行新增语句:

update score set score = 100 where cid = 1

dinky+flink+doris实时架构全流程demo,doris,flink,dinky,flink,大数据文章来源地址https://www.toymoban.com/news/detail-606579.html

到了这里,关于dinky+flink+doris实时架构全流程demo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【大数据】Doris:基于 MPP 架构的高性能实时分析型数据库

    Apache Doris 是一个基于 MPP ( Massively Parallel Processing , 大规模并行处理 )架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于

    2024年02月11日
    浏览(59)
  • Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

    Apache Doris是一个基于MPP架构的易于使用,高性能和实时的分析数据库,以其极高的速度和易用性而闻名。海量数据下返回查询结果仅需亚秒级响应时间,不仅可以支持高并发点查询场景,还可以支持高通量复杂分析场景。 这些都使得 Apache Doris 成为报表分析、即席查询、统一

    2024年02月03日
    浏览(57)
  • Flink+Doris 实时数仓

    Doris基本原理 Doris基本架构非常简单,只有FE(Frontend)、BE(Backend)两种角色,不依赖任何外部组件,对部署和运维非常友好。架构图如下 可以 看到Doris 的数仓架构十分简洁,不依赖 Hadoop 生态组件,构建及运维成本较低。 FE(Frontend)以 Java 语言为主,主要功能职责: 接收用户

    2024年02月07日
    浏览(50)
  • Flink实时电商数仓之Doris框架(七)

    大规模并行处理的分析型数据库产品。使用场景:一般先将原始数据经过清洗过滤转换后,再导入doris中使用。主要实现的功能有: 实时看板 面向企业内部分析师和管理者的报表 面向用户或者客户的高并发报表分析 即席查询 统一数仓构建:替换了原来由Spark, Hive,Kudu, Hba

    2024年02月03日
    浏览(46)
  • Flink CDC和Flink SQL构建实时数仓Flink写入Doris

    软件环境 Flink1.13.3 Scala 2.12 doris 0.14 一、MySQL 开启binlog日志、创建用户 1.开启bin log MySQL 8.0默认开启了binlog,可以通过代码show variables like \\\"%log_bin%\\\";查询是否开启了,show variables like \\\"%server_id%\\\";查询服务器ID。 上图分别显示了bin long是否开启以及bin log所在的位置。 2.创建用户 C

    2024年02月02日
    浏览(78)
  • 【大数据-实时流计算】图文详解 Apache Flink 架构原理

    目录 Apache Flink架构介绍 一、Flink组件栈 二、Flink运行时架构 在Flink的整个

    2024年02月02日
    浏览(42)
  • Flink实时写入Apache Doris如何保证高吞吐和低延迟

    随着实时分析需求的不断增加,数据的时效性对于企业的精细化运营越来越重要。借助海量数据,实时数仓在有效挖掘有价值信息、快速获取数据反馈、帮助企业更快决策、更好的产品迭代等方面发挥着不可替代的作用。 在这种情况下,Apache Doris 作为一个实时 MPP 分析数据库脱颖

    2024年01月17日
    浏览(48)
  • Flink CDC2.4 整库实时同步MySql 到Doris

            Flink 1.15.4          目前有很多工具都支持无代码实现Mysql - Doris 的实时同步         如:SlectDB 已发布的功能包                 Dinky SeaTunnel TIS 等等          不过好多要么不支持表结构变动,要不不支持多sink,我们的业务必须支持对表结构的实时级变动

    2024年02月11日
    浏览(57)
  • 数据架构的实时分析:Apache Flink 和 Apache Storm 的比较

    实时数据处理在大数据领域具有重要意义,它可以帮助企业更快地获取和分析数据,从而更快地做出决策。随着数据量的增加,传统的批处理方法已经不能满足企业的需求,因此需要使用实时数据处理技术。 Apache Flink 和 Apache Storm 是两个流行的实时数据处理框架,它们都可以

    2024年01月23日
    浏览(57)
  • 基于 Dinky + FlinkSQL + Flink CDC 同步 MySQL 数据到 Elasticsearch、Kafka

    Dinky 是一个开箱即用的一站式实时计算平台以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架致力于流批一体和湖仓一体的建设与实践。本文以此为FlinkSQL可视化工具。 Flink SQL 使得使用标准 SQL 开发流式应用变得简单,免去代码开发。 Flink CDC 本文使用 MySQL CDC 连接器 允许从

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包