一、Yarn session(一般测试环境)
yarn session会初始启动指定的tm数量。 job提交后再指定的session 内运行。
其它job运行,如果资源不够,就会一直等待直到占用的job运行完毕释放资源。jm所有job共享
1 在任意几点启动yarn-session:
下述属性启动4个任务管理器。 每个任务管理器占用1024M内存,且每任务管理器分配2个SLOT
./bin/yarn-session.sh -n 4 -tm 1024 -s 2
如下图, yarn模式下会随机找到一机器做为job manager,在master提交后, 去到cdh03节点作为job manager运行
注:上述第一个红框为 yarn 集群中的application id. 运行日志可以根据此ID,去yarn WEB UI中查看。
2 提交JOB:
在提交session的节点:
./flink run -c WordCount /home/hadoop/flinktest/FlinkStream_.jar --input hdfs:///flinktest/inputwords.txt --output hdfs:///flinktest/output
如果是其它节点:需要指定 job管理器 -m ,否则会跑到 master节点 8081口提交任务,最后超时报错
./flink run -m cdh02:40990 -c WordCount /home/hadoop/flinktest/FlinkStream_.jar --input hdfs:///flinktest/inputwords.txt --output hdfs:///flinktest/output2 -m cdh02:409904099
也可以指定sessionid来提交特别是在多个session的情况下 -yid application_157118_00001
3 yarn 模式下日志查看跟 standalone方式有点不一样。在yarn WEB UI 可以查看
application id 可以根据步骤1 的ID,去yarn管理界面查看。
点击,ID连接,进去找到对应的am管理的容器,查看日志
物理日志路径, 根据yarn配置文件,在/yarn /container-logs 目录下(可以看到应该在cdh01节点)
3 停止job
yarn application -kill session id.
二 yarn on per job(生产使用)
bin/flink run -c WordCount -m yarn-cluster examples/batch/WordCount.jar, 注意参数 -m yarn-cluster
此命令直接向yarn申请资源,构建集群,每job 独占jobmanager运行。
tm数=max(子任务并行书)/每tm槽位数.