flink 配置

Common Options

env.java.home : java安装路径,如果没有指定则默认使用系统的$JAVA_HOME环境变量。建议设置此值,因为之前我曾经在standalone模式中启动flink集群,报找不到JAVA_HOME的错误。config.sh中(Please specify JAVA_HOME. Either in Flink config ./conf/flink-conf.yaml or as system-wide JAVA_HOME.)

env.java.opts : 定制JVM选项,在Flink启动脚本中执行。需要单独执行JobManager和TaskManager的选项。

env.java.opts.jobmanager : 执行jobManager的JVM选项。在Yarn Client环境下此参数无效。

env.java.opts.taskmanager : 执行taskManager的JVM选项。在Yarn Client环境下此参数无效。

jobmanager.rpc.address : Jobmanager的IP地址,即master地址。默认是localhost,此参数在HA环境下或者Yarn下无效,仅在local和无HA的standalone集群中有效。

jobmanager.rpc.port : JobMamanger的端口,默认是6123。

jobmanager.heap.mb : JobManager的堆大小(单位是MB)。当长时间运行operator非常多的程序时,需要增加此值。具体设置多少只能通过测试不断调整。

taskmanager.heap.mb : 每一个TaskManager的堆大小(单位是MB),由于每个taskmanager要运行operator的各种函数(Map、Reduce、CoGroup等,包含sorting、hashing、caching),因此这个值应该尽可能的大。如果集群仅仅跑Flink的程序,建议此值等于机器的内存大小减去1、2G,剩余的1、2GB用于操作系统。如果是Yarn模式,这个值通过指定tm参数来分配给container,同样要减去操作系统可以容忍的大小(1、2GB)。

taskmanager.numberOfTaskSlots : 每个TaskManager的并行度。一个slot对应一个core,默认值是1.一个并行度对应一个线程。总的内存大小要且分给不同的线程使用。

parallelism.default : 每个operator的默认并行度。默认是1.如果程序中对operator设置了setParallelism,或者提交程序时指定了-p参数,则会覆盖此参数。如果只有一个Job运行时,此值可以设置为taskManager的数量 * 每个taskManager的slots数量。即NumTaskManagers  * NumSlotsPerTaskManager 。

fs.default-scheme : 设置默认的文件系统模式。默认值是file:///即本地文件系统根目录。如果指定了hdfs://localhost:9000/,则程序中指定的文件/user/USERNAME/in.txt,即指向了hdfs://localhost:9000/user/USERNAME/in.txt。这个值仅仅当没有其他schema被指定时生效。一般hadoop中core-site.xml中都会配置fs.default.name。

fs.hdfs.hadoopconf : HDFS的配置路径。例如:/home/flink/hadoop/hadoop-2.6.0/etc/hadoop。如果配置了这个值,用户程序中就可以简写hdfs路径如:hdfs:///path/to/files。而不用写成:hdfs://address:port/path/to/files这种格式。配置此参数后,Flink就可以找到此路径下的core-site.xml和hdfs-site.xml了。建议配置此参数。

Managed Memory

对于批处理程序,Flink使用了自我的内存管理,默认使用70%的taskmanager.heap.mb的内存。这样Flink批处理程序不会出现OOM问题,因为Flink自己知道有多少内存可以使用,当内存不够时,就使用磁盘空间。而且这样有些operation可以直接访问数据,
而不需要序列化数据到java对象。Flink自我管理的内存可以加速程序的执行。如果需要的话,
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flink的安装目录下,主要有以下几个配置文件: 1. flink-conf.yaml:该文件是Flink的主要配置文件,用于设置Flink的全局配置。 2. 日志的配置文件:用于配置Flink的日志打印格式、级别等相关参数。 3. zk配置:用于配置Flink与ZooKeeper的连接信息,以便Flink可以使用ZooKeeper来实现高可用和容错机制。 4. Flink SQL Client配置:用于配置Flink SQL客户端的相关参数,如连接信息、默认目录等。 除了以上配置文件,根据table程序的需要,还可以通过配置一些必要的参数来优化表操作。举个例子,对于无界流程序,可能需要确定必要的状态大小上限。 在Java代码中,可以使用TableEnvironment的getConfig()方法获取Flink配置对象,然后通过配置对象的setString()方法来设置底层的键值对配置。例如,可以通过以下方式设置mini-batch优化相关的配置参数: ```java // 实例化table environment TableEnvironment tEnv = ...; // 访问flink配置 Configuration configuration = tEnv.getConfig().getConfiguration(); // 设置底层key-value配置 configuration.setString("table.exec.mini-batch.enabled", "true"); // 开启mini-batch优化 configuration.setString("table.exec.mini-batch.allow-latency", "5 s"); // 缓存输入数据5秒 configuration.setString("table.exec.mini-batch.size", "5000"); // 每个聚合操作任务可以缓存的最大数据条数为5000条 ``` 通过以上配置,可以启用mini-batch优化,并设置相应的缓存参数,以提高表操作的性能和效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Flink 从 0 到 1 学习 —— Flink 配置文件详解](https://blog.csdn.net/tzs_1041218129/article/details/101104375)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [flink-sql查询配置与性能优化参数详解-1.14](https://blog.csdn.net/u012443641/article/details/127900815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值