Dinky上路之旅

1、部署flink集群

yaml 复制代码
cat > flink-conf.yaml << EOF 
jobmanager.rpc.address: boshi-146
jobmanager.rpc.port: 6123
jobmanager.bind-host: 0.0.0.0
jobmanager.memory.process.size: 1600m
taskmanager.bind-host: 0.0.0.0
# 修改为本机ip
taskmanager.host: 0.0.0.0
taskmanager.memory.process.size: 1728m
taskmanager.numberOfTaskSlots: 1
parallelism.default: 1
jobmanager.execution.failover-strategy: region
rest.address: boshi-146
rest.bind-address: 0.0.0.0
classloader.check-leaked-classloader: false

EOF

1.2、配置 workers 文件

yaml 复制代码
cat > workers << EOF 
boshi-107
boshi-124
boshi-131
boshi-139
EOF

1.3、配置 master 文件

yaml 复制代码
cat > masters << EOF 
boshi-146:8081
EOF

1.4、分发文件

yaml 复制代码
ansible cluster -m file -a "path=/data/app state=directory"
ansible cluster -m copy -a "src=/data/app/flink-1.17.1 dest=/data/app/ owner=root group=root mode=0755"

1.5、分别修改workers节点taskmanager.host

yaml 复制代码
taskmanager.host: hostname

1.6、启动Standalone集群

yaml 复制代码
bin/start-cluster.sh

1.7、访问Standalone集群

yaml 复制代码
http://boshi-146:8081

1.8、Yarn Session集群(HDP3.1)

yaml 复制代码
# 修改hdfs配置
dfs.permissions=false

#启动集群
export HADOOP_CLASSPATH=`hadoop classpath`
/data/app/flink-1.17.1/bin/yarn-session.sh -d

2、Dinky部署

2.1、MySQL建库并导入数据

yaml 复制代码
CREATE DATABASE dlink;
create user 'dlink'@'%' IDENTIFIED WITH mysql_native_password by 'Dlink*2023';
grant ALL PRIVILEGES ON dlink.* to 'dlink'@'%';
flush privileges;

mysql -udlink -pDlink*2023

use dlink;

source /data/app/dlink/sql/dinky.sql;

2.2、加载Flink依赖

yaml 复制代码
cp /data/app/flink-1.17.1/lib/* /data/app/dlink/plugins/flink1.17/

2.3、加载Hadoop依赖

yaml 复制代码
cp flink-shaded-hadoop-3-uber-3.1.1.7.2.9.0-173-9.0.jar /data/app/dlink/plugins/

2.4、上传jar包

yaml 复制代码
# 创建HDFS目录并上传dinky的jar包
sudo -u hdfs hdfs dfs -mkdir -p /dlink/jar/
sudo -u hdfs hdfs dfs -put /data/app/dlink/jar/dlink-app-1.17-0.7.3-jar-with-dependencies.jar /dlink/jar

# 创建HDFS目录并上传flink的jar包
sudo -u hdfs hadoop fs -mkdir /dlink/flink-dist-17
sudo -u hdfs hadoop fs -put /data/app/flink-1.17.1/lib /dlink/flink-dist-17
sudo -u hdfs hadoop fs -put /data/app/flink-1.17.1/plugins /dlink/flink-dist-17

2.5、修改配置

yaml 复制代码
vi ./config/application.yml

spring:
  datasource:
    url: jdbc:mysql://${MYSQL_ADDR:boshi-146: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
  application:
    name: dinky
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
    format:
      date: yyyy-MM-dd HH:mm:ss
    #json格式化全局配置
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss

  main:
    allow-circular-references: true

2.6、启动并登录Dinky

yaml 复制代码
cd /data/app/dlink
sh auto.sh start 1.17

http://boshi-146:8888
admin/admin

2.7、Flink设置

2.7.1、配置中心

2.7.2、Flink实例管理

1、standalone
2、Yarn Session
3、注册中心

2.7.3、集群配置管理

3、Dinky本地启动

3.1、安装环境

powershell 复制代码
http://www.dlink.top/docs/next/developer_guide/local_debug
首先按照官网的步骤安装环境。
 
npm	       7.19.0
node.js	   14.17.0
jdk	       1.8
maven	   3.6.0+
lombok	   IDEA插件安装
mysql	   5.7+
 
版本必须一致。不然要踩很多坑。
powershell 复制代码
        <dependency>
            <groupId>com.starrocks</groupId>
            <artifactId>flink-connector-starrocks</artifactId>
            <version>1.2.7_flink-1.13_${scala.binary.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>com.github.jsqlparser</groupId>
                    <artifactId>jsqlparser</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

3.3、升级mysql-version

powershell 复制代码
 <mysql-connector-java.version>8.0.33</mysql-connector-java.version>

3.4、本地编译测试

powershell 复制代码
mvn clean install -P dev,scala-2.12,flink-1.14,web '-Dspotless.check.skip=true' -DskipTests
相关推荐
Hello.Reader几秒前
Flink 任务失败恢复机制Restart Strategy 和 Failover Strategy 怎么配才“又稳又不炸”
大数据·flink·策略模式
keke.shengfengpolang9 小时前
2026大专大数据与财务管理:不止是会计
大数据
龙山云仓9 小时前
No160:AI中国故事-对话耿恭——孤城坚守与AI韧性:极端环境与信念之光
大数据·人工智能·机器学习
sensen_kiss10 小时前
INT303 Coursework2 贷款批准预测模型(对整个大数据知识的应用)
大数据·机器学习·数据分析
优思学苑15 小时前
过程能力指标CPK高为何现场仍不稳?
大数据·人工智能·管理·pdca·管理方法
qyr678916 小时前
分布式光纤传感全球市场调研报告分析
大数据·人工智能·物联网·分布式光纤传感·市场分析·市场报告
龙亘川17 小时前
城管住建领域丨市政设施监测功能详解(4)——路灯设施监测
大数据·人工智能·路灯设施监测
XLYcmy18 小时前
智能体大赛 总结与展望 比赛总结
大数据·ai·llm·prompt·agent·qwen·万方数据库
zchxzl18 小时前
亲测2026京津冀专业广告展会
大数据·人工智能·python
Elastic 中国社区官方博客18 小时前
在 Kubernetes 上的依赖管理
大数据·elasticsearch·搜索引擎·云原生·容器·kubernetes·全文检索