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文件一定有效,所以需要人工介入支持。

相关推荐
拓端研究室TRL3 小时前
【梯度提升专题】XGBoost、Adaboost、CatBoost预测合集:抗乳腺癌药物优化、信贷风控、比特币应用|附数据代码...
大数据
黄焖鸡能干四碗3 小时前
信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
大数据·人工智能·软件需求·设计规范·规格说明书
编码小袁3 小时前
探索数据科学与大数据技术专业本科生的广阔就业前景
大数据
WeeJot嵌入式4 小时前
大数据治理:确保数据的可持续性和价值
大数据
zmd-zk5 小时前
kafka+zookeeper的搭建
大数据·分布式·zookeeper·中间件·kafka
激流丶5 小时前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
测试界的酸菜鱼5 小时前
Python 大数据展示屏实例
大数据·开发语言·python
时差9535 小时前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
Mephisto.java5 小时前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
Mephisto.java5 小时前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database