启动任务:   

./bin/flink -h  具体看

会话模式(Session Mode) 

 bin/flink run -m hadoop001:8081 -p 1 -c com.sea.cbb.app.dwd.ApiRqtDetailStatsApp   lib/cbb_applet_promotion-1.0-SNAPSHOT-jar-with-dependencies.jar  --host 192.168.18.129
java -cp bx_cbb_applet_promotion_olap-1.0-SNAPSHOT-jar-with-dependencies.jar   com.sea.cbb.app.dws.NewUserRqtStatsWithJavaApp 2>&1  &
 bin/flink run -m hadoop001:8081 -p 1 -c com.sea.cbb.app.ods.APIRqtLogStatsApp      lib/bx_cbb_applet_promotion_olap-1.0-SNAPSHOT-jar-with-dependencies.jar
 bin/flink run -m hadoop001:8081 -p 1 -c com.sea.cbb.app.dwd.ApiRqtDetailStatsApp   lib/bx_cbb_applet_promotion_olap-1.0-SNAPSHOT-jar-with-dependencies.jar 

 

会话模式(YARN session) flink 1.13 

 

( Per-job  可以参考: https://blog.csdn.net/weixin_46669856/article/details/122927506) 

 

 

./bin/flink run -t yarn-per-job --detached \
-Dyarn.application.name="flink-yarn-perjob" \
-Dflink.cluster.name=flink-yarn-perjob \
-Dtaskmanager.numberOfTaskSlots=5 \
./examples/streaming/TopSpeedWindowing.jar

说明:

./bin/flink run \
# 指定yarn的Per-job模式,-t等价于-Dexecution.target
-t yarn-per-job \
# yarn应用的自定义name
-Dyarn.application.name=consumerDemo \
# 未指定并行度时的默认并行度值, 该值默认为1
-Dparallelism.default=3 \
# JobManager进程的内存
-Djobmanager.memory.process.size=2048mb \
# TaskManager进程的内存
-Dtaskmanager.memory.process.size=2048mb \
# 每个TaskManager的slot数目, 最佳配比是和vCores保持一致
-Dtaskmanager.numberOfTaskSlots=2 \
# 防止日志中文乱码
-Denv.java.opts="-Dfile.encoding=UTF-8" \
# 支持火焰图, Flink1.13新特性, 默认为false, 开发和测试环境可以开启, 生产环境建议关闭
-Drest.flamegraph.enabled=true \
# 入口类
-c xxxx.MainClass \
# 提交Job的jar包
xxxx.jar

从savepoint恢复 (https://blog.csdn.net/mp9105/article/details/116984220)

和启动指令类似,只是添加了savepoint的位置      -D taskmanager.memory.flink.size: 2280m

./bin/flink run \
-t yarn-per-job \
-Djobmanager.memory.process.size=2048mb \
-Dtaskmanager.memory.process.size=2048mb \
-Dtaskmanager.numberOfTaskSlots=2 \
-Denv.java.opts="-Dfile.encoding=UTF-8" \
-Drest.flamegraph.enabled=true \
# 指定savepoint地址
--fromSavepoint hdfs://192.168.31.201:8020/test/checkpoint_test/savepoint-e28bdd-ef7febad087e \
-c com.zyx.flinkdemo.FlinkKafkaConsumerDemo \
/home/dev/flinkdemo-1.0-SNAPSHOT.jar

与cancel类似,但是可以指定savepoint的存放地址

 

./bin/flink stop \
-t yarn-per-job \
-Dyarn.application.id=${YarnApplicationID} \
# 指定savepoint存放位置
--savepointPath hdfs://192.168.31.201:8020/test/checkpoint_test \
${FlinkJobID}

 

启动任务(flink1.13之前写法)

bin/flink run -m yarn-cluster -yn 3 -ys 3 -ynm bjsxt02  -c com.test.flink.wc.StreamWordCount ./appjars/test-1.0-SNAPSHOT.jar

参数解释

-yn,--container <arg> 表示分配容器的数量,也就是 TaskManager 的数量。
 -d,--detached:设置在后台运行。
 -yjm,--jobManagerMemory<arg>:设置 JobManager 的内存,单位是 MB。
 -ytm,--taskManagerMemory<arg>:设置每个 TaskManager 的内存,单位是 MB。
 -ynm,--name:给当前 Flink application 在 Yarn 上指定名称。
 -yq,--query:显示 yarn 中可用的资源(内存、cpu 核数)
 -yqu,--queue<arg> :指定 yarn 资源队列
 -ys,--slots<arg> :每个 TaskManager 使用的 Slot 数量。
 -yz,--zookeeperNamespace<arg>:针对 HA 模式在 Zookeeper 上创建 NameSpace
 -yid,--applicationID<yarnAppId> : 指定 Yarn 集群上的任务 ID,附着到一个后台独立运行的 Yarn Session 中。
 -s,-fromSavepoint <savepointPath> 要恢复作业的保存点的路径 的保存点的路径(例如hdfs:///flink/savepoint-1537)。)

 

 

查询所有任务

./bin/flink list

 

Stopping a Job Gracefully Creating a Final Savepoint(停止作业创建最终保存点): hdfs://hadoop:9000/savepoint/xxx

$ ./bin/flink stop \
--savepointPath /tmp-flink-savepoints \
      $JOB_ID


Suspending job "cca73232323923142324340" with a savepoint.
Savepoint completed. Path: file:/tmp/flink-savepoints/savepoint-ca123-bd43f0dab

Cancelling a Job Ungracefully(暴力取消一个job):

./bin/flink cancel $JOB_ID

Starting a Job from a Savepoint(从一个保存点启动一个job):

./bin/flink run \
      --detached \ 
      --fromSavepoint /opt/my_flink-savepoints/userapp \
      ./lib/userStaticApp.jar

 

默认情况下,从 Savepoint 恢复时将尝试将所有状态分配给新作业。 

​如果有状态​​算子被删除​,则无法从 Savepoint 恢复。

​你可以通过使用 run 命令设置 ​​--allowNonRestoredState​ (简称:​​-n​​ )来允许删除有状态算子:

$ bin/flink run -s :savepointPath -n [:runArgs]

 

​删除 Savepoint 

$ bin/flink savepoint -d :savepointPath

这将删除存储在 ​​:savepointPath​​ 中的 Savepoint。

请注意,还可以通过常规文件系统操作手动删除 Savepoint ,而不会影响其他 Savepoint 或 Checkpoint(请记住,每个 Savepoint 都是自包含的)。

 

posted on 2022-07-13 17:06  lshan  阅读(1117)  评论(0编辑  收藏  举报