1.环境变量配置
若要在Yarn上运行Flink应用,必须实现告诉Flink和yarn有关的配置。需要怎么告诉Flink呢?
提交Flink任务的client端必须要设置YARN_CONF_DIR或者HADOOP_CONF_DIR环境变量,通过这个环境变量来读取YARN和HDFS的配置信息,否则提交任务会失败。
2.提交Flink任务到yarn的两种方式
同时启动Yarn application和Flink task
flink run -m yarn-cluster -ys 8 -ynm myapp -yn 4 -yjm 1024 -ytm 4096 -d -c com.paultech.MyApp ./myapp.jar
参数说明:
- -m 运行模式,这里使用yarn-cluster,即yarn集群模式。
- -ys slot个数。
- -ynm Yarn application的名字。
- -yn task manager 数量。
- -yjm job manager 的堆内存大小。
- -ytm task manager 的堆内存大小。
- -d detach模式。可以运行任务后无需再控制台保持连接。
- -c 指定jar包中class全名。
先启动Yarn application,再在指定的application内运行Flink task
启动yarn session的命令如下:
yarn-session.sh -d -n 4 -nm riskmanater -jm 1024 -tm 4096 -t relative/path/to/file
相关参数解释:
- -d: Detach模式
- -nm: Application名称
- -jm: Job Manager 容器的内存
- -tm: Task Manager 容器的内存
- -t: 传送文件至集群,使用相对路径。程序中读取文件仍使用相对路径
这里的参数和上面flink的类似,只不过少了前缀y
在特定Flink yarn session上提交Flink任务:
flink run -yid application_12345678 --class MainClassFullPath riskmanager.jar
这里使用-yid
参数来指定任务运行于那个Flink yarn session之上。
网友评论