Flink Yarn配置

来源:互联网 发布:linux读取u盘文件 编辑:程序博客网 时间:2024/05/19 18:43

需要配置YARN_CONF_DIR 或 HADOOP_CONF_DIR环境变量

启动一个YARN session

Start a long-running Flink cluster on YARN
然后便可以向集群提交作业。同一个Session中可以提交多个Flink作业

./bin/yarn-session.sh -n 2 -tm 1024 -s 2

上面命令启动了2个TaskManager,每个TaskManager内存为1G且占用了2个slots ,默认是1个slots

这里写图片描述
这里写图片描述

[iteblog@www.iteblog.com flink]$ ./bin/yarn-session.shUsage:   Required     -n,--container <arg>   Number of YARN container to allocate (=Number of Task Managers)   Optional     -D <arg>                        Dynamic properties     -d,--detached                   Start detached     -jm,--jobManagerMemory <arg>    Memory for JobManager Container [in MB]     -nm,--name <arg>                Set a custom name for the application on YARN     -q,--query                      Display available YARN resources (memory, cores)     -qu,--queue <arg>               Specify YARN queue.     -s,--slots <arg>                Number of slots per TaskManager     -st,--streaming                 Start Flink in streaming mode     -tm,--taskManagerMemory <arg>   Memory per TaskManager Container [in MB]

Flink on YARN会重写一些配置信息,如jobmanager.rpc.address,jobmanager总是被分配到不同的机器,taskmanager.tmp.dirs,我们使用yarn的临时文件目录,parallelism.default,slots的数量已经被指定了

使用-D参数可以动态修改配置信息
-Dfs.overwrite-files=true -Dtaskmanager.network.memory.min=536346624

上例应该会启动三个container,指定的是两个,但又一个额外的为ApplicationMaster 和 Job Manager准备

从官网下载个文件做wordcount,上传到HDFS上

wget -O LICENSE-2.0.txt http://www.apache.org/licenses/LICENSE-2.0.txthadoop fs -put LICENSE-2.0.txt hdfs:///user/input/ 

提交运行

./bin/flink run ./examples/batch/WordCount.jar --input hdfs:///user/input/LICENSE-2.0.txt

结果会直接显示在终端
若用–output 可以指定输出位置
命令或参数可以经常用-h查看一下
这里写图片描述
Detached Session 使用-d参数
如果不想保持Flink YARN客户端一直运行,可以启动Detached YARN Session 来达到目的。这个参数即是-d或–detached。 在此情况下,Flink YARN客户端将仅提交Flink到集群中,然后关闭连接。注意的是在此情况下,将不可能使用Flink来停止YARN会话。 使用YARN命令(yarn application –kill )来停止YARN Session
Attach Session

./bin/yarn-session.sh -id application_1497192989423_0002

在UNIX进程中CTRL+C或输入stop停止session

直接在YARN上提交运行Flink作业

Run a Flink job on YARN

./bin/flink run -m yarn-cluster -yn 2 ./examples/batch/WordCount.jar
原创粉丝点击