Flink从ck拉起任务脚本

bash 复制代码
#!/bin/bash

APP_NAME="orderTest"

CHECKPOINT_BASE_PATH="hdfs:///jobs/flink/checkpoints/aaa-test/"


is_running=$(yarn application -list | grep -w "$APP_NAME" | grep -c "RUNNING")

if [ $is_running -gt 0 ]; then
    echo "应用程序 '$APP_NAME' 在运行中,退出脚本"
    exit 1
else
    echo "应用程序 '$APP_NAME' 不在运行中,准备拉起任务"
fi



get_latest_checkpoint() {
    latest_checkpoint=$(hdfs dfs -ls -t -R $CHECKPOINT_BASE_PATH  | grep '_metadata' | sort -k6,7r | head -n 1 | awk '{print $8}'  )
    if [ -z "$latest_checkpoint" ]; then
        echo "没有找到适合的ck,退出执行"
        exit 1
    fi

    checkpoint_dir=$(dirname "$latest_checkpoint")
    echo $checkpoint_dir
}

LATEST_CHECKPOINT=$(get_latest_checkpoint)
echo " '$APP_NAME' 任务将从 '$LATEST_CHECKPOINT' 启动"


flink run \
 -t yarn-per-job \
 -d \
 -p 1 \
 -Dyarn.application.queue=realtime \
 -Dyarn.application.name=$APP_NAME\
 -Djobmanager.memory.process.size=1024mb \
 -Dtaskmanager.memory.process.size=1000mb \
 -Dtaskmanager.memory.managed.size=0mb \
 -Dtaskmanager.memory.network.max=64mb \
 -Dtaskmanager.numberOfTaskSlots=1 \
 -c com.test.Main\
 -s $LATEST_CHECKPOINT \
 ./ds-test-1.0.jar

备注:由于Flink checkpoint 个别情况下,不一定能保证落地的checkpoint文件一定有效,所以需要人工介入支持。

相关推荐
Flynn Liang5 小时前
Apache Superset 重要特性详解(三):语义层 / 权限 / 缓存 / 嵌入的实战最佳实践(2026 版)
大数据·clickhouse·数据可视化·架构设计·superset·数据分析平台
小田学Python16 小时前
工具调用:让 Agent 从“说”到“做”
大数据·大模型·agent·ai工具·deepseek
GrowingIO技术社区20 小时前
用户行为分析怎么做?从业务目标到改进验证的完整流程
大数据·数据挖掘·数据分析
瑞克-桑切斯1 天前
docker Harbor 单机部署手册
大数据·运维·elasticsearch·docker·容器
演艺大赏1 天前
NiFi 起不来、登不上、节点被挤掉:一份按日志定位的排错清单
大数据
freejackman1 天前
【实战三】撕开脱敏盲区:深度解析 CASE WHEN 与窗口函数血缘
大数据·数据库·sql
wafrdggh2 天前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序
大大大大晴天2 天前
OLTP、OLAP、数据湖、数据集市、湖仓一体到底是什么关系?
大数据
正在走向自律2 天前
AI Agent 落地这一年:从“能跑起来”到“敢放出去”
大数据·人工智能·ai agent·智能体·mcp·a2a
freejackman2 天前
【实战二】字段级血缘追踪:拆解 AST 迷局,精准穿透函数链与子查询
大数据·数据库·sql