Session模式
yarn-session.sh(开辟资源) + flink run(提交任务)
1.在yarn上启动一个Flink会话,node1上执行以下命令
/export/server/flink/bin/yarn-session.sh -n 2 -tm 800 -s 1 -d
说明:
申请2个CPU、1600M内存
-n 表示申请2个容器,这里指的就是多少个taskmanager
-tm 表示每个TaskManager的内存大小
-s 表示每个TaskManager的slots数量
-d 表示以后台程序方式运行
注意:
该警告不用管
WARN org.apache.hadoop.hdfs.DFSClient - Caught exception
java.lang.InterruptedException
2.查看UI界面
3.使用flink run提交任务:
/export/server/flink/bin/flink run /export/server/flink/examples/batch/WordCount.jar
运行完之后可以继续运行其他的小任务
/export/server/flink/bin/flink run /export/server/flink/examples/batch/WordCount.jar
4.通过上方的ApplicationMaster可以进入Flink的管理界面
5.关闭yarn-session:
yarn application -kill application_1599402747874_0001
6.rm -rf /tmp/.yarn-properties-root
通过Flink YARN Session来运行任务
在Flink YARN Session启动时会按配置或参数来申请资源,并会启动Flink的基础服务:JobManager和TaskManagers。这样,就可以向它提交Flink应用了;每个session都可以运行多个Flink应用。
启动yarn session
在启动Flink YARN Session时必须要设置以下环境变量。为了不系统原来的环境变量的值,这里创建一个脚本:
#!/bin/bash # export YARN_CONF_DIR=/opt/hadoop_remote/hadoop-2.7.7/etc/hadoop/ export HADOOP_CONF_DIR=/opt/hadoop_remote/hadoop-2.7.7/etc/hadoop/ export HADOOP_CLASSPATH=`hadoop classpath` ./bin/yarn-session.sh -tm 8192 -s 32
进入flink执行目录,运行以下命令:
启动yarn session后可以看到,在yarn的应用列表中启动了一个ApplicationMaster容器,并在该容器中启动了JobManager服务。当提交Job时会自动分配TaskManager。
运行flink 任务
#!/bin/bash # # 清理一下结果文件夹的数据 hadoop fs -rmr hdfs://namenode_host/flink_test/result/ ./bin/flink run ./examples/batch/WordCount.jar \ --input hdfs://namenode_host/flink_test/data/ \ --output hdfs://namenode_host/flink_test/result/
停止 Flink YARN Session
可以通过以下命令来停止 Flink YARN Session:
echo "stop" | ./bin/yarn-session.sh -id <appId>

5292

被折叠的 条评论
为什么被折叠?



