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
相关推荐
武子康21 小时前
大数据-242 离线数仓 - DataX 实战:MySQL 全量/增量导入 HDFS + Hive 分区(离线数仓 ODS
大数据·后端·apache hive
SelectDB2 天前
易车 × Apache Doris:构建湖仓一体新架构,加速 AI 业务融合实践
大数据·agent·mcp
武子康2 天前
大数据-241 离线数仓 - 实战:电商核心交易数据模型与 MySQL 源表设计(订单/商品/品类/店铺/支付)
大数据·后端·mysql
IvanCodes2 天前
一、消息队列理论基础与Kafka架构价值解析
大数据·后端·kafka
武子康3 天前
大数据-240 离线数仓 - 广告业务 Hive ADS 实战:DataX 将 HDFS 分区表导出到 MySQL
大数据·后端·apache hive
字节跳动数据平台4 天前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康4 天前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台5 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术5 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
大大大大晴天5 天前
Flink生产问题排障-HBase NotServingRegionException
flink·hbase