Flink on Yarn 运行原理
第一种:内存集中管理模式
1.启动flink集群
client端需要配置环境变量:
YARN_CONF_DIR
HADOOP_CONF_DIR
HADOOP_HOME
2 ./bin/yaen-session.sh -n 2 -jm 1024 -tm 1024 -d
//-n 2 表示指定两个容器
// -jm 1024 表示jobmanager 1024M内存
// -tm 1024表示taskmanager 1024M内存
//-d 任务后台运行
3. ./bin.yarn-session.sh -id application_1222222_0023 //类似docker容器操作,可以通过web操作,此命令不常用
4. 执行任务
5. ./bin/flink run ./examples/batch/WordCount.jar -input hdfs://hostname:port/LICENSE-2.0.txt -output hdfs://hostname:port/wordcount-result.txt
6. 停止任务
第二种:内存job管理模式
1.启动集群,执行任务
2../bin/flink run -m yarn-cluster -yn 2 -yjm 1024 -ytm 1024 ./examples/bath/WordCount.jar
//-m 指定一个新集群,每次都会启动一个新的集群
// -yn 2 容器个数
// -yjm 1024 表示jobmanager 1024M内存
// -ytm 1024表示taskmanager 1024M内存
//最后跟上jar包
java.lang.RuntimeException:Couldn’t deploy Yarn session cluster
错误原因:虚拟内存超过限制
处理方式:yarn-site.xml中注释以下内容:
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>