1,根据hadoop的版本在flink的页面上下载对应于hadoop版本和scala版本的flink的包
2,使用start-yarn.sh在集群上运行yarn,启动后可以在8088上面找到yarn的web界面
需要注意的是,需要将resourcemanager的地址指向master的地址
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.13.128</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
3,使用flink在yarn上创建一个session,创建的时候会提示slf4j的jar包无法找到,原因是flink默认就是需要系统中有一个HADOOP_HOME的环境变量。
yarn-session.sh -n 2 -jm 1024 -tm 1024 -d
4,session启动后,使用flink提交任务
flink run /opt/flink-1.7.2/examples/batch/WordCount.jar -input hdfs://192.168.13.128:9000/input/myfile.txt -output hdfs://192.168.13.128:9000/output/result.txt
会发现任务始终无法提交成功,在yarn的配置中将vmem-check改成false,就能运行成功