flink on yarn部署
flink on yarn需要的组件与版本如下
Zookeeper, HDFS 和 Yarn 的组件的安装可以参照网上的教程。
在zookeeper,HDFS 和Yarn的组件的安装好的前提下,在客户机上提交Flink任务,具体流程如下:
$ export HADOOP_HOME=/usr/local/hadoop-current
jobmanager.rpc.address: localhost
jobmanager.rpc.port: 6123
jobmanager.heap.mb: 256
taskmanager.heap.mb: 512
taskmanager.numberOfTaskSlots: 1
taskmanager.memory.preallocate: false
parallelism.default: 1
jobmanager.web.port: 8081
#临时目录的修改,默认在tmp目录下 taskmanager.tmp.dirs: /data/tmp/flink/taskmanager blob.storage.directory: /data/tmp/flink/blob jobmanager.web.tmpdir: /data/tmp/flink/web jobmanager.web.upload.dir: /data/tmp/flink/upload yarn.properties-file.location: /data/tmp/flink/yarn
yarn.maximum-failed-containers: 99999
#akka config akka.watch.heartbeat.interval: 5 s akka.watch.heartbeat.pause: 20 s akka.ask.timeout: 60 s akka.framesize: 20971520b
#high-avaliability high-availability: zookeeper
high-availability.zookeeper.quorum: 10.141.61.226:2181,10.141.53.244:2181,10.141.18.219:2181 high-availability.zookeeper.path.root: /flink
high-availability.zookeeper.storageDir: hdfs://hdcluster/flink/recovery/
#checkpoint config state.backend: rocksdb
state.backend.fs.checkpointdir: hdfs://hdcluster/flink/checkpoint
state.checkpoints.dir: hdfs://hdcluster/flink/savepoint
#memory config env.java.opts: -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -server -XX:+HeapDumpOnOutOfMemoryError yarn.heap-cutoff-ratio: 0.2 taskmanager.memory.off-heap: true
$ ./yarn-session.sh -n 2 -s 6 -jm 3072 -tm 6144 -nm test -d
启动yarn-session的参数解释如下
参数 | 参数解释 | 设置推荐 |
---|---|---|
-n(–container) | taskmanager的数量 | |
-s(–slots) | 用启动应用所需的slot数量/ -s 的值向上取整,有时可以多一些taskmanager,做冗余 每个taskmanager的slot数量,默认一个slot一个core,默认每个taskmanager的slot的个数为1 | 6~10 |
-jm | jobmanager的内存(单位MB) | 3072 |
-tm | 每个taskmanager的内存(单位MB) | 根据core 与内存的比例来设置,-s的值* (core与内存的比)来算 |
-nm | yarn 的appName(现在yarn的ui上的名字)| | |
-d | 后台执行 |
$ ./flink -run file:///home/yarn/test.jar -a 1 -p 12 -yid appId -nm flink-test -d
启动flink 应用的参数解释如下
参数 | 参数解释 |
---|---|
-j | 运行flink 应用的jar所在的目录 |
-a | 运行flink 应用的主方法的参数 |
-p | 运行flink应用的并行度 |
-c | 运行flink应用的主类, 可以通过在打包设置主类 |
-nm | flink 应用名字,在flink-ui 上面展示 |
-d | 后台执行 |
–fromsavepoint | flink 应用启动的状态恢复点 |