Dinky项目常规部署指南:从数据库初始化到服务启动

Dinky项目常规部署指南:从数据库初始化到服务启动

【免费下载链接】dinky Dinky is an out-of-the-box, one-stop, real-time computing platform dedicated to the construction and practice of Unified Streaming & Batch and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake. 【免费下载链接】dinky 项目地址: https://gitcode.com/gh_mirrors/di/dinky

前言

Dinky是一款基于Flink的实时计算平台,提供了一站式的Flink SQL开发与运维能力。本文将详细介绍Dinky项目的常规部署流程,帮助用户快速搭建Dinky服务环境。

数据库准备

Dinky使用MySQL作为后端存储数据库,要求MySQL版本5.7及以上。以下是数据库初始化步骤:

1. 创建数据库和用户

根据MySQL版本不同,创建方式略有差异:

MySQL 5.x版本:

# 创建数据库
CREATE DATABASE dinky;

# 创建用户并授权
GRANT ALL PRIVILEGES ON dinky.* TO 'dinky'@'%' IDENTIFIED BY 'dinky' WITH GRANT OPTION;
FLUSH PRIVILEGES;

MySQL 8.x版本:

# 创建数据库
CREATE DATABASE dinky;

# 创建用户
CREATE USER 'dinky'@'%' IDENTIFIED WITH mysql_native_password BY 'dinky';

# 授权
GRANT ALL PRIVILEGES ON dinky.* TO 'dinky'@'%';
FLUSH PRIVILEGES;

2. 执行初始化脚本

首次部署时,需要执行Dinky提供的SQL初始化脚本:

# 使用dinky用户登录
mysql -h 主机地址 -udinky -pdinky

# 执行初始化脚本
USE dinky;
SOURCE /opt/dinky/sql/dinky-mysql.sql;

Dinky服务部署

1. 解压安装包

Dinky从1.0.0版本开始采用新的打包方式,每个Flink版本对应单独的二进制包:

# 解压安装包
tar -zxf dinky-release-${flink.version}-${dinky.version}.tar.gz

# 重命名并进入目录
mv dinky-release-${flink.version}-${dinky.version} dinky
cd dinky

2. 配置文件修改

Dinky的主要配置文件位于config/目录下:

  1. 修改主配置文件 application.yml
spring:
  profiles:
    active: ${DB_ACTIVE:mysql}  # 支持mysql、pgsql、h2三种数据库
  1. 修改MySQL连接配置 application-mysql.yml
spring:
  datasource:
    url: jdbc:mysql://${MYSQL_ADDR:127.0.0.1:3306}/${MYSQL_DATABASE:dinky}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
    username: ${MYSQL_USERNAME:dinky}
    password: ${MYSQL_PASSWORD:dinky}
    driver-class-name: com.mysql.cj.jdbc.Driver

3. 依赖管理

Dinky需要Flink相关依赖支持,这些依赖应放置在extends/flink${FLINK_VERSION}目录下。典型依赖包括:

  • flink-dist-${version}.jar
  • flink-table-api-java-uber-${version}.jar
  • flink-table-planner_2.12-${version}.jar
  • flink-connector-jdbc-${version}.jar
  • flink-shaded-hadoop-uber-${version}.jar

特别注意

  1. 需要将flink-table-planner-loader-${version}.jar替换为不带loader的版本
  2. 必须添加Hadoop相关依赖,即使不使用Hadoop功能
  3. MySQL/PostgreSQL驱动需要手动添加到libextends目录

4. 目录结构说明

完整的Dinky部署目录结构应包含以下关键内容:

├── auto.sh                # 启停脚本
├── config/                # 配置文件目录
├── extends/               # 扩展依赖目录
│   └── flink1.16/         # Flink版本特定依赖
├── jar/                   # 应用jar包
├── lib/                   # 核心依赖
└── sql/                   # SQL脚本

服务启停管理

Dinky提供了便捷的启停脚本:

# 启动服务
sh auto.sh start [flink版本号]  # 如: sh auto.sh start 1.16

# 停止服务
sh auto.sh stop

# 重启服务
sh auto.sh restart

# 查看状态
sh auto.sh status

# 前台启动(调试用)
sh auto.sh startOnPending

访问服务

服务启动成功后,可通过以下方式访问:

  • 默认地址:http://127.0.0.1:8888
  • 默认账号:admin/dinky123!@#

常见问题处理

  1. 依赖冲突:特别是Hadoop相关依赖中的javax.servlet冲突,需要手动解决
  2. 版本适配:确保Dinky版本与Flink版本严格匹配
  3. 权限问题:MySQL用户需要有足够的权限
  4. 监控功能:必须配置Hadoop相关依赖才能正常使用监控功能

结语

通过以上步骤,您应该已经成功部署了Dinky服务。在实际生产环境中,建议根据具体需求调整JVM参数、数据库连接池配置等优化项。Dinky作为Flink SQL开发平台,能够显著提升实时计算任务的开发效率,值得深入探索和使用。

【免费下载链接】dinky Dinky is an out-of-the-box, one-stop, real-time computing platform dedicated to the construction and practice of Unified Streaming & Batch and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake. 【免费下载链接】dinky 项目地址: https://gitcode.com/gh_mirrors/di/dinky

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值