flink中配置Rockdb的重要配置项

73 篇文章 1 订阅
10 篇文章 0 订阅

背景

由于我们在flink中使用了状态比较大,无法完全把状态数据存放到tm的堆内存中,所以我们选择了把状态存放到rockdb上,也就是使用rockdb作为状态后端存储,本文就是简单记录下使用rockdb状态后端存储的几个重要的配置项

使用rockdb状态后端

1.首先看一下rockdb的设计图
在这里插入图片描述

从中需要注意几点:

1.1 每次状态读取操作不一定会经过磁盘,有可能直接从内存中就可以获取到记录了,也有可能要经过好几次IO操作才能读取到记录

1.2 每次写操作都会把记录先顺序写到WAL日志文件中,然后写入memtable内存表,由于写操作是顺序写,虽然比不上直接操作内存,但是性能也不会很差

2.flink全局维度的重要的配置项:

state.backend.rocksdb.memory.managed 默认值true,开启rockdb作为flink状态后端存储

taskmanager.memory.managed.size 默认不配置,显示给rockdb用的堆外内存的总大小
taskmanager.memory.managed.fraction 默认0.4,当参数taskmanager.memory.managed.size没有配置时,给rockdb用的堆外内存的总大小占堆大小的比例

3.rockdb内部的重要的配置项

我们知道rockdb中内部的内存占用主要包含:memtable表,索引(包括数据索引和布隆过滤器索引),以及BlockCache,以下两个配置是调整rockdb内部的内存占用比例的

state.backend.rocksdb.memory.write-buffer-ratio,默认值 0.5,即 50% 的给定内存会分配给写缓冲区使用,这里也就是memtable使用的内存
state.backend.rocksdb.memory.high-prio-pool-ratio,默认值 0.1,即 10% 的 block cache 内存会优先分配给索引及过滤器。 我们强烈建议不要将此值设置为零,以防止索引和过滤器被频繁踢出缓存而导致性能问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flink配置Flink CDC(Change Data Capture)可以实现实时数据流的变化捕获和同步。下面是在Flink配置Flink CDC的步骤: 1. 首先,确保你已经安装了Flink和CDC插件。CDC插件是Flink的一个扩展,用于支持数据源的变化捕获。 2. 在Flink配置文件,添加CDC相关的配置。打开flink-conf.yaml文件,并添加以下配置: ``` # CDC相关配置 # 设置CDC插件的类路径 classloader.resolve-order: parent-first classloader.parent-first-patterns: - org.apache.flink. - org.apache.hadoop. - org.apache.hive. - org.apache.orc. - org.apache.parquet. - org.apache.avro. - org.apache.calcite. - org.apache.commons.logging. - org.apache.commons.lang3. - org.apache.commons.codec. - org.apache.commons.collections. - org.apache.commons.configuration. - org.apache.commons.io. - org.apache.commons.lang. - org.apache.commons.math3. - org.apache.commons.net. - org.apache.commons.pool2. - org.apache.commons.text. - org.apache.commons.validator. - org.apache.commons.compress. - org.apache.commons.jexl3. - org.apache.commons.beanutils. - org.apache.commons.dbcp2. - org.apache.commons.digester3. - org.apache.commons.fileupload. - org.apache.commons.imaging. - org.apache.commons.jxpath. - org.apache.commons.mail. - org.apache.commons.vfs2. - org.apache.commons.configuration2. - org.apache.commons.exec. - org.apache.commons.jexl2. - org.apache.commons.jexl. - org.apache.commons.jelly. - org.apache.commons.jelly.tags.ant. - org.apache.commons.jelly.tags.core. - org.apache.commons.jelly.tags.define. - org.apache.commons.jelly.tags.fmt. - org.apache.commons.jelly.tags.html. - org.apache.commons.jelly.tags.http. - org.apache.commons.jelly.tags.jaxme. - org.apache.commons.jelly.tags.jee. - org.apache.commons.jelly.tags.jms. - org.apache.commons.jelly.tags.jsl. - org.apache.commons.jelly.tags.jsl.ant. - org.apache.commons.jelly.tags.jsl.dtd. - org.apache.commons.jelly.tags.jsl.util. - org.apache.commons.jelly.tags.log. - org.apache.commons.jelly.tags.sql. - org.apache.commons.jelly.tags.swt. - org.apache.commons.jelly.tags.swing. - org.apache.commons.jelly.tags.xml. - org.apache.commons.jelly.xpath. ``` 3. 配置CDC源。在Flink的作业配置文件,添加CDC源的配置。例如,如果你要从MySQL数据库捕获变化数据,可以添加以下配置: ``` # CDC源配置 source: type: mysql-cdc hostname: localhost port: 3306 username: your_username password: your_password database-name: your_database_name table-name: your_table_name ``` 根据你的实际情况修改上述配置的参数。 4. 编写Flink作业。根据你的需求,编写Flink作业来处理CDC源的数据变化。 以上是在Flink配置Flink CDC的基本步骤。你可以根据具体的数据源和需求进行相应的配置和编码。如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值