Dinky项目常规部署指南:从数据库初始化到服务启动
前言
Dinky作为一款强大的数据开发平台,其部署过程需要特别注意数据库配置、依赖管理和服务启动等关键环节。本文将详细介绍Dinky的常规部署流程,帮助用户快速搭建稳定运行的Dinky环境。
数据库初始化
Dinky采用MySQL作为后端存储数据库,支持MySQL 5.7及以上版本。数据库初始化是部署的第一步,需要特别注意权限配置和版本差异。
MySQL 5.x版本配置
对于MySQL 5.x版本,执行以下SQL命令:
# 登录MySQL
mysql -uroot -p
# 创建数据库
CREATE DATABASE dinky;
# 创建用户并授权
GRANT ALL PRIVILEGES ON dinky.* TO 'dinky'@'%' IDENTIFIED BY 'dinky' WITH GRANT OPTION;
FLUSH PRIVILEGES;
MySQL 8.x版本配置
MySQL 8.x在用户认证方式上有所变化,需要使用以下命令:
# 登录MySQL
mysql -uroot -p
# 创建数据库
CREATE DATABASE dinky;
# 创建用户并设置认证方式
CREATE USER 'dinky'@'%' IDENTIFIED WITH mysql_native_password BY 'dinky';
# 授权
GRANT ALL PRIVILEGES ON dinky.* TO 'dinky'@'%';
FLUSH PRIVILEGES;
数据库初始化脚本执行
首次部署时,需要执行初始化脚本:
# 使用dinky用户登录
mysql -h fdw1 -udinky -pdinky
# 执行初始化脚本
USE dinky;
SOURCE /opt/dinky/sql/dinky-mysql.sql;
Dinky服务部署
版本选择注意事项
从Dinky v1.0.0开始,项目采用了新的打包方式,每个版本都针对特定Flink版本进行了适配。部署前需确认:
- 选择与您Flink环境匹配的Dinky版本
- 不再支持多版本共存的单一二进制包
解压安装包
tar -zxf dinky-release-${flink.version}-${dinky.version}.tar.gz
mv dinky-release-${flink.version}-${dinky.version} dinky
cd dinky
配置文件调整
主配置文件修改
编辑config/application.yml
文件,设置数据库类型:
spring:
application:
name: Dinky
profiles:
active: ${DB_ACTIVE:mysql} # 可选值:[h2,mysql,pgsql]
MySQL配置文件修改
编辑config/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&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: ${MYSQL_USERNAME:dinky}
password: ${MYSQL_PASSWORD:dinky}
driver-class-name: com.mysql.cj.jdbc.Driver
依赖管理
Dinky需要Flink环境支持,需特别注意以下依赖管理要点:
必须上传的依赖
- JDBC驱动:需手动上传MySQL/PostgreSQL驱动到
lib
或extends
目录 - Hadoop依赖:监控功能强依赖Hadoop,即使不使用Hadoop功能也需上传
Flink依赖配置
将对应Flink版本的依赖放入extends/flink${FLINK_VERSION}
目录,例如Flink 1.16.x需要:
flink-cep-1.16.1.jar
flink-connector-files-1.16.1.jar
flink-connector-jdbc-1.16.1.jar
flink-csv-1.16.1.jar
flink-dist-1.16.1.jar
flink-json-1.16.1.jar
flink-scala_2.12-1.16.1.jar
flink-shaded-hadoop-2-uber-2.7.5-8.0.jar
flink-shaded-zookeeper-3.5.9.jar
flink-table-api-java-uber-1.16.1.jar
flink-table-planner_2.12-1.16.1.jar
flink-table-runtime-1.16.1.jar
特别注意事项
- 必须替换带
loader
的planner jar包为不带loader
的版本 - 对于standalone、HDFS、K8s等集群上的Flink集群同样需要此操作
服务启动与管理
基本操作命令
# 启动服务
sh auto.sh start
# 停止服务
sh auto.sh stop
# 重启服务
sh auto.sh restart
# 查看服务状态
sh auto.sh status
# 前台启动(调试用)
sh auto.sh startOnPending
版本指定启动
从1.0.2版本开始支持自动检测Flink版本,也可手动指定:
# 指定Flink 1.16版本启动
sh auto.sh start 1.16
Nginx配置建议
Dinky使用SSE技术实现日志推流,使用Nginx代理时需要特别配置:
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
访问与登录
服务启动后,默认访问地址为http://127.0.0.1:8888
,默认管理员账号为:
- 用户名:admin
- 密码:dinky123!@#
建议首次登录后立即修改默认密码。
总结
本文详细介绍了Dinky项目的完整部署流程,从数据库初始化到服务启动,涵盖了各个关键环节的配置要点和注意事项。正确完成这些步骤后,您将获得一个稳定运行的Dinky环境,为后续的数据开发工作奠定坚实基础。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考