flinkflink

Configuration

2018-03-03  本文已影响295人  小C菜鸟

原文链接


对于单节点设置,Flink已经准备就绪,不需要更改默认配置就可以启动。

开箱即用的配置会使用你默认安装的Java。如果你想手动覆盖Java运行环境,可以手动设置环境变量JAVA_HOME或者conf/flink-conf.yaml文件中的env.java.home属性。

本页列出了配置一个良好的运行(分布式的)环境,通常需要设置的最常见的选项。。此外,这里列出了所有可用配置参数的完整列表。

所有的配置都是在 conf/flink-conf.yaml中完成的,它期望是一个key: value格式的YAML键值对 的扁平集合。

系统和运行脚本在启动时解析配置。对配置文件的更改需要重新启动Flink JobManager和TaskManager。

任务管理器的配置文件可以不同,Flink不假设集群中有统一的机器。

通用选项

高级选项

计算

托管内存

默认情况下,Flink分配空闲内存(通过taskmanager.heap.mb配置的总内存减去用作网络缓冲的内存)的0.7倍作为托管内存。托管内存帮助Flink有效的运行批处理操作。它阻止OutOfMemoryException发生,因为Flink知道它有多少内存能用于执行操作。如果Flink耗尽了托管内存,它就利用磁盘空间。使用托管内存,一些操作可以直接在原始数据上执行,而不用将数据反序列化成Java对象。总之,托管内存提高了系统的健壮性和速度。

托管内存的默认分数可以通过taskmanager.memory.fraction参数进行调整。可以使用taskmanager.memory.size设置绝对值(覆盖分数参数)。如果需要,托内内存可以分配在JVM堆外。这可以提高具有大内存空间情况下的性能。

内存和性能调试

这些选项对于调试Flink应用内存和垃圾收集相关问题时非常有用,例如性能和OOM导致死亡或异常。

其它

Full Reference

HDFS

These parameters configure the default HDFS used by Flink. Setups that do not specify a HDFS configuration have to specify the full path to HDFS files (hdfs://address:port/path/to/files) Files will also be written with default HDFS parameters (block size, replication factor).

JobManager & TaskManager

The following parameters configure Flink’s JobManager and TaskManagers.

High Availability (HA)

Previously this key was named recovery.mode and the default value was standalone.

ZooKeeper-based HA Mode

ZooKeeper Security

Environment

Configuring TaskManager processing slots

Flink executes a program in parallel by splitting it into subtasks and scheduling these subtasks to processing slots.

Each Flink TaskManager provides processing slots in the cluster. The number of slots is typically proportional to the number of available CPU cores of each TaskManager. As a general recommendation, the number of available CPU cores is a good default for taskmanager.numberOfTaskSlots.

When starting a Flink application, users can supply the default number of slots to use for that job. The command line value therefore is called -p (for parallelism). In addition, it is possible to set the number of slots in the programming APIs for the whole application and for individual operators.

上一篇 下一篇

猜你喜欢

热点阅读