背景

flink原生只提供实时计算功能,webui可以提供简单的监控和参数展示。

我们需要一套集开发和监控、管理的综合实时平台。

OpenJdk

# 部署jdk

cd /data/downloads

tar -xzvf OpenJDK8U-jdk_x64_linux_hotspot_8u432b06.tar.gz -C /usr/local/src/

cd /usr/local/src

ln -s /usr/local/src/jdk8u432-b06 /usr/local/jdk

# 配置环境变量

cat /etc/profile.d/jdk.sh << \EOF

#!/bin/bash

export JAVA_HOME=/usr/local/jdk

export JAVA_PATH=/usr/local/jdk/bin:/usr/local/jdk/jre/bin

export PATH=$JAVA_PATH:$PATH

EOF

source /etc/profile

java -version

dinky安装

下载tgz包到/data/apps/下并解压。

tar -xzvf dinky-release-1.18-1.1.0-rc4.tar.gz -C /data/apps/

ln -s /data/apps/dinky-release-1.18-1.1.0-rc4 /data/dinky

cat /etc/profile.d/dinky.sh << \EOF

export DINKY_HOME=/data/dinky

export PATH=$DINKY_HOME:$PATH

EOF

修改配置文件

修改application.yml

spring:

 profiles:

   active: ${DB_ACTIVE:mysql}

修改application-mysql.yml

spring:

 datasource:

   url: jdbc:mysql://${MYSQL_ADDR:192.168.12.119: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_20241211}

   driver-class-name: com.mysql.cj.jdbc.Driver

上传以下jar包到dinky指定文件夹

mysql-connector-java-8.0.28.jar =》 /data/apps/dinky-release-1.18-1.1.0-rc4/lib
flink-shaded-hadoop-3-uber-3.1.1.7.2.8.0-224-9.0_del_javax_servlet.jar(已经删除了javax.servlet目录) =》 /data/apps/dinky-release-1.18-1.1.0-rc4/extends
commons-cli-1.9.0.jar =》 /data/apps/dinky-release-1.18-1.1.0-rc4/extends
flink-connector-jdbc-3.2.0-1.18.jar =》 /data/apps/dinky-release-1.18-1.1.0-rc4/extends

cp -r $FLINK_HOME/lib/*.jar $DINKY_HOME/extends/flink1.18/

cp $FLINK_HOME/opt/flink-table-planner_2.12-1.18.1.jar $DINKY_HOME/extends/flink1.18/

以下为所有的依赖jar
flink-cep-1.18.1.jar
flink-connector-files-1.18.1.jar
flink-connector-jdbc-3.2.0-1.18.jar
flink-csv-1.18.1.jar
flink-dist-1.18.1.jar
flink-json-1.18.1.jar
flink-scala_2.12-1.18.1.jar
flink-table-api-java-uber-1.18.1.jar
flink-table-planner_2.12-1.18.1.jar
flink-table-planner-loader-1.18.1.jar
flink-table-runtime-1.18.1.jar
log4j-1.2-api-2.17.1.jar
log4j-api-2.17.1.jar
log4j-core-2.17.1.jar
log4j-slf4j-impl-2.17.1.jar

数据库初始化

create database dinky;

create user 'dinky'@'%' identified WITH mysql_native_password BY 'dinky_20241211';

grant all privileges on dinky.* to 'dinky'@'%';

flush privileges;

在datagrip中执行以下文件:/data/dingky/sql/dinky-mysql.sql

启动应用

相关命令:

#启动

sh auto.sh start

#指定flink版本号启动

sh auto.sh start 1.20

#停止

sh auto.sh stop

#重启

sh auto.sh restart

#查看状态

sh auto.sh status

# 前台启动(调试使用,会输出日志,阻塞当前终端,结束请Ctrl+C,但是会直接退出服务,仅供启动时无日志输出且在排查问题时使用)

sh auto.sh startOnPending

更多推荐