FlinkSQL + Dinky + Flinkcdc的部署

 Dinky的简介

        Flink目前是一个使用广泛的基于流计算的流批一体的大数据计算框架,它关注的是流计算的底层实现、集群运行最优化、高效运行的设计等;

Dinky是基于Flink的一个应用平台:

        目前最核心的功能,就是在Flink上扩展了主要基于Flink SQL的,连接OLTP、OLAP和数据湖等众多框架的一站式实时计算平台,
致力于流批一体和湖仓一体的建设与实践,方便直接在其上进行开发、联调。

环境及主要软件版本说明

flink-1.16.3

dinky-0.6.6

java1.8

mysql8.0

软件的部署安装

全部采用单机部署

Flink的部署

解压文件到指定目录:
tar -zxvf flink-1.16.3-bin-scala_2.12.tgz -C /路径

-- 修改配置文件
cd flink-1.14.6/conf/flink-conf.yaml 修改成本机的IP、位置

-- 修改如下内容
jobmanager.rpc.address: 192.168.xxx.xxx        
taskmanager.host: 192.168.xxx.xxx                
jobmanager.memory.process.size: 2048m        
taskmanager.memory.process.size: 2048m
taskmanager.numberOfTaskSlots: 10
rest.port: 8888
rest.address: 0.0.0.0
web.tmpdir: /export/server/flink-1.16.3/tmp
akka.ask.timeout: 600s

-- 将所需要的jar包 放到flink-1.14.6/lib/ 下

-- 启动
./start-cluster.sh

 

 数据库初始化

-- 部署dinky前的操作要求

-- 登录mysql
mysql -uroot -p123456

-- 创建数据库
mysql>
create database dinky;

-- 授权
mysql>
grant all privileges on dinky.* to 'dinky'@'%' identified by 'dinky@123' with grant option;
mysql>
flush privileges;

-- 此处用 dinky 用户登录
mysql -h fdw1 -udinky -pdinky@123
mysql>
use dinky;

-- sql文件在下载的压缩包中获取即可
mysql> source /export/server/dinky/sql/dinky.sql

Dinky的部署

-- 解压dinky文件到指定目录
tar -zxvf dlink-release-0.6.6.tar.gz

-- 切换目录,修改数据库配置及端口信息
cd /export/server/dinky/config/
vi application.yml
# -------------------------------------------------------------------------------
spring:
    datasource:
        url: jdbc:mysql://${MYSQL_ADDR:192.168.XXX.XXX:3306}/${MYSQL_DATABASE:dinky}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTime
zone=Asia/Shanghai&allowPublicKeyRetrieval=true
        username: ${MYSQL_USERNAME:dinky}
        password: ${MYSQL_PASSWORD:dinky@123}
server:
    port: 8899 
# -------------------------------------------------------------------------------

-- 加载依赖
Dinky 需要具备自身的 Flink 环境,该 Flink 环境的实现需要用户自己在 Dinky 根目录下
plugins/flink${FLINK_VERSION} 文件夹并上传相关的 Flink 依赖如 flink-dist, flink-table 等

-- 拷贝flink lib下的jar包 到 plugins/flink1.14下
cp ${FLINK_HOME}/lib/flink-*.jar  /export/server/dinky/plugins/flink1.14/

-- 包含如下的jar
flink-csv-1.14.6.jar
flink-dist_2.12-1.14.6.jar
flink-json-1.14.6.jar
flink-shaded-zookeeper-3.4.14.jar
flink-sql-connector-elasticsearch7_2.12-1.14.6.jar
flink-sql-connector-kafka_2.12-1.14.6.jar
flink-sql-connector-mysql-cdc-2.3.0.jar

-- 完成后启动
sh auto.sh start 1.16.3  -- 后面跟flink的版本
-- 停止 
sh auto.sh stop 1.16.3  

### 使用Dinky部署Flink教程 #### 准备工作 对于不熟悉Dinky或尚未完成其部署的用户,需先了解并满足前置条件。这括但不限于环境配置、依赖项安装等内容[^1]。 #### 下载与准备插件 为了使Dinky能够顺利运行特定版本的Flink作业,需要提前准备好对应的Flink插件,并将其放置于指定目录下。具体操作为备份当前`/opt/module/dinky/plugins/flink1.14`路径下的原有文件夹,随后将新获取到的适用于目标Flink版本(如本例中的1.14版)的jar上传至此位置[^3]。 #### 启动服务 当所有准备工作完成后,按照官方文档指导启动Dinky服务端口,确保可以正常访问Web界面。此时应该能看到用于管理SQL脚本执行的任务面板[^2]。 #### 配置连接器(可选) 如果计划利用Kafka作为消息队列来增强数据处理能力,则还需要额外引入相应的Connector组件。通过Maven仓库下载适合所使用的Flink版本的`flink-connector-kafka`库文件,并同样放入上述提到的plugins目录内[^5]。 ```bash wget https://repo.maven.apache.org/maven2/org/apache/flink/flink-connector-kafka_2.12/3.1.0-1.18/flink-connector-kafka_2.12-3.1.0-1.18.jar -P /opt/module/dinky/plugins/ ``` #### 测试验证 最后一步是在Dinky平台上创建一个新的Session Job项目,编写简单的测试语句提交给后台调度程序去执行。这样不仅可以检验整个流程是否通畅无阻,也能帮助快速掌握基本的操作方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值