Dinky 让Flink作业纵享丝滑

1.Dinky是什么?

  Dinky 是一个开箱即用的一站式实时计算平台,以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架,致力于流批一体和湖仓一体的建设与实践。Dinky 让Flink作业纵享丝滑,为 Apache Flink 深度定制的新一代实时计算平台,提供敏捷的 Flink SQL, Flink Jar 作业开发、部署及监控能力,助力实时计算高效应用。

2.特性

  • 沉浸式 FlinkSQL 数据开发:自动提示补全、语法高亮、语句美化、在线调试、语法校验、执行计划、Catalog支持、血缘分析等
  • Flink SQL语法增强,如 CDC任务,jar任务,实时打印表数据,实时数据预览,全局变量增强,语句合并、整库同步等
  • 适配 FlinkSQL 多种执行模式:Local、Standalone、Yarn/Kubernetes Session、Yarn Per-Job、Yarn/Kubernetes Application
  • 增强 Flink 生态拓展:Connector、FlinkCDC、Table Store 等
  • 支持 FlinkCDC 整库实时入仓入湖、多库输出、自动建表、模式演变
  • 支持 Flink Java / Scala / Python UDF 开发与自动提交
  • 支持 SQL 作业开发:ClickHouse、Doris、Hive、Mysql、Oracle、Phoenix、PostgreSql、Presto、SqlServer、StarRocks 等
  • 支持实时在线调试预览 Table、 ChangeLog、统计图和 UDF
  • 支持 Flink Catalog、Dinky内置Catalog增强,数据源元数据在线查询及管理
  • 支持自动托管的 SavePoint/CheckPoint 恢复及触发机制:最近一次、最早一次、指定一次等
  • 支持实时任务运维:作业信息、集群信息、作业快照、异常信息、历史版本、报警记录等
  • 支持作为多版本 FlinkSQL Server 以及 OpenApi 的能力
  • 支持实时作业报警及报警组:钉钉、微信企业号、飞书、邮箱等
  • 支持多种资源管理:集群实例、集群配置、数据源、报警组、报警实例、文档、系统配置等
  • 支持企业级管理功能:多租户、用户、角色、命名空间等
  • 更多隐藏功能等待小伙伴们探索

3.官方文档及项目地址

复制代码
https://dinky.org.cn/docs/next/get_started/overview
https://github.com/DataLinkDC/dinky

4.安装部署

4.1安装mysql数据库

  首先需要安装一个mysql数据,可以参考如下文章:

复制代码
https://blog.csdn.net/qq_34905631/article/details/134951201?spm=1001.2014.3001.5501
https://mp.weixin.qq.com/s/5PC_VXtNc8689ag8b8cYLA

4.2 数据库初始化

  本文安装的数据库是mysql8.0.28,所以这里执行如下mysql的脚本:

mysql 复制代码
#登录mysql
mysql -uroot -p
#创建数据库
mysql>
CREATE DATABASE dinky;
#创建用户并允许远程登录
mysql>
create user 'dinky'@'%' IDENTIFIED WITH mysql_native_password by 'dinky';
#授权
mysql>
grant ALL PRIVILEGES ON dinky.* to 'dinky'@'%';
mysql>
flush privileges;

  mysql5.x需要执行如下脚本:

mysql 复制代码
#登录mysql
mysql -uroot -p
#创建数据库
mysql>
create database dinky;
#授权
mysql>
grant all privileges on dinky.* to 'dinky'@'%' identified by 'dinky' with grant option;
mysql>
flush privileges;

  本文使用Docker-Desktop桌面版安装的docker,有兴趣的可以参看我写的相关文章,在windows上安装docker就省略了,需要进入容器里面执行上面的脚本,相关脚本官方文档上都有详细的说明。

  接下来就需要执行sql脚本,本文安装的dink的版本是1.0.3单机版,使用docker方式部署

复制代码
https://github.com/DataLinkDC/dinky/blob/1.0.3/script/sql/dinky-mysql.sql

4.3挂载及启动命令

  挂载路径如下:

  Windows10启动脚本:

shell 复制代码
docker run --restart=always -d -p 8888:8888 --name dinky -e DB_ACTIVE=mysql -e MYSQL_ADDR=192.168.40.49:3306 -e MYSQL_DATABASE=dinky -e MYSQL_USERNAME=dinky -e MYSQL_PASSWORD=dinky -v "D:\dinky\lib":/opt/dinky/customJar/  dinkydocker/dinky-standalone-server:1.0.3-flink1.17

  Linux启动脚本:

shell 复制代码
docker run --restart=always -d -p 8888:8888 --name dinky -e DB_ACTIVE=mysql -e MYSQL_ADDR=192.168.40.49:3306 -e MYSQL_DATABASE=dinky -e MYSQL_USERNAME=dinky -e MYSQL_PASSWORD=dinky -v /opt/lib:/opt/dinky/customJar/  dinkydocker/dinky-standalone-server:1.0.3-flink1.17

  需要注意的是MYSQL_ADDR需要填写docker部署mysql的wifi网络的ip,不要填写本机127.0.0.1,填写本机127.0.0.1启动回报数据库连接被拒绝的异常,需要数据库网络通畅且前一步的脚步执行正确(创建数据库,用户、执行建表sql脚本及授权都整对),还有要注意一点就是,相关flink版本的镜像需要去国外的docker仓库上搜索dinkydocker,下载指定的tag的镜像即可,还有需要注意一点需要科学上网才可以将镜像下载下来。

复制代码
https://hub.docker.com/

5.登录体验

  初始账户名密码如下:

复制代码
初始账户
用户名: admin
密码 :dinky123!@#

6.总结

  Dinky的部署方式还有很多:二进制可执行包部署,源码编译部署,docker-compose部署,k8s部署等,支持多种flink模式提交任务,使用flink支持整库同步、增量和实时CDC数据同步,还集成DolphinScheduler(小海豚调度平台),支持主流的关系型数据库、OLAP数据库和数据湖产品,还有运维监控功能,可视化管理flink任务,Dink 让Flink作业纵享丝滑,由于我本机没有flink的环境(flink的环境搭建起来比较麻烦,后续有实践在搞 一个完整的作业环境分享),单纯的部署了一个单机版的体验了下,然后看了下官方的文档也比较详细,各种环境搞起来还是有点难搞的,之前也分享了StreamPark、SeaTunnel,新的开源的东西,让我们有更多的选择,根据自己的需求来选择适合的开源平台解决业务的痛点问题是比较耐思的,希望我的分享对你有所启发和帮助,请一键三连,么么么哒!

相关推荐
2601_9603563812 分钟前
数学专业“考证”新思路:为学术与职业双重赋能
大数据
zhixingheyi_tian34 分钟前
Mapreduce 之 nativetask
大数据·mapreduce
远航计算机2 小时前
职业技能培训机构如何利用QClaw+Skills做豆包GEO:知识库搭建×内容创作×效果监测的完整实操手册
大数据·人工智能·自动化·aigc·火山引擎
IanSkunk2 小时前
视光中心承接近视防控需求,核心是先把服务流程做成标准化工程
大数据
SEO_juper2 小时前
用Google Search Console数据做内容审计:找出网站上哪些页面在“吃白饭“
大数据·人工智能·外贸独立站
独行侠影a5 小时前
Mojo:专为AI而生的“Python++”,能否真正挑战CUDA与C++的统治地位?
大数据·人工智能·深度学习
greenbbLV5 小时前
中小公司积分商城选型:SaaS与私有化方案对比解析
大数据·前端·小程序
半兽先生5 小时前
大模型技术开发与应用——5.大模型Agent开发(CrewAI)
大数据·人工智能·python·机器学习·ai
空杆推不起6 小时前
穿透 Flink CDC 表层用法:数据库日志捕获机制、Flink Source 运行时、端到端一致性底层原理详解
大数据·数据库·flink
跨境生态圈6 小时前
2026跨境出海服务商深度测评:凌赟科技如何用“SEO+GEO双引擎”重构AI时代获客逻辑?
大数据·运维·人工智能·科技·chatgpt