Flink1.11内存模型与参数调整

Flink TaskManager启动日志

INFO  [] - Loading configuration property: taskmanager.memory.process.size, 2048m
INFO  [] - Loading configuration property: taskmanager.memory.managed.fraction, 0.3
INFO  [] - Loading configuration property: taskmanager.memory.jvm-overhead.fraction, 0.2
INFO  [] - Loading configuration property: taskmanager.memory.network.fraction, 0.1
INFO  [] - Loading configuration property: parallelism.default, 2
INFO  [] - Loading configuration property: task.cancellation.timeout, 0
INFO  [] - Final TaskExecutor Memory configuration:
INFO  [] -   Total Process Memory:          2.000gb (2147483648 bytes)
INFO  [] -     Total Flink Memory:          1.350gb (1449551456 bytes)
INFO  [] -       Total JVM Heap Memory:     701.440mb (735513127 bytes)
INFO  [] -         Framework:               128.000mb (134217728 bytes)
INFO  [] -         Task:                    573.440mb (601295399 bytes)
INFO  [] -       Total Off-heap Memory:     680.960mb (714038329 bytes)
INFO  [] -         Managed:                 414.720mb (434865454 bytes)
INFO  [] -         Total JVM Direct Memory: 266.240mb (279172875 bytes)
INFO  [] -           Framework:             128.000mb (134217728 bytes)
INFO  [] -           Task:                  0 bytes
INFO  [] -           Network:               138.240mb (144955147 bytes)
INFO  [] -     JVM Metaspace:               256.000mb (268435456 bytes)
INFO  [] -     JVM Overhead:                409.600mb (429496736 bytes)

在这里插入图片描述

  1. Total Process Memory:flink总资源数 2048m,参数:taskmanager.memory.process.size
  2. JVM Metaspace:JVM元空间,参数:taskmanager.memory.jvm-metaspace.size,计算:默认值256m
  3. JVM Overhead:JVM额外开销,参数:taskmanager.memory.jvm-overhead.fraction,计算:2048 x 0.2=409.6m
  4. Total Flink Memory:flink可用资源数,计算:由1-2-3=1.35g
  5. Total JVM Heap Memory:JVM堆内存,计算:由4-6=701.44m
  6. Total Off-heap Memory:JVM堆外内存,计算:由7+8=680.96m
  7. Total JVM Direct Memory:计算:由9+10(默认为0)+11=266.240m
  8. Managed:托管内存,参数:taskmanager.memory.flink.size,计算:Total Flink Memory x 0.3=1.35 x 0.3= 414.72m
  9. Network:网络缓存,参数:taskmanager.memory.network.fraction,计算:Total Flink Memory x 0.1=1.35 x 0.1= 138.240m
  10. Framework:Flink框架内存,参数:taskmanager.memory.framework.heap.size,计算:默认128m
  11. Task:任务内存,计算:5-10=573.440m
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
Kafka SQL Connector是Apache Kafka社区提供的一个工具,用于将Kafka消息流转换成关系型数据,并支持在SQL中进行查询、聚合和窗口操作。Flink是一个流处理框架,可以实现实时的数据处理和计算。在Flink 1.11版本中,可以使用Kafka SQL Connector将Kafka消息流集成到Flink中,并直接在Flink SQL中进行流处理和分析。 使用Kafka SQL Connector需要进行以下步骤: 1. 安装Kafka SQL Connector 需要下载并安装Kafka SQL Connector包,可以从Apache官网或者Kafka社区下载。 2. 将Kafka SQL Connector添加到Flink Classpath中 可以通过修改flink-conf.yaml文件或使用--classpath参数将Kafka SQL Connector添加到Flink Classpath中。 3. 创建Kafka数据源 可以使用Flink提供的Kafka连接器,从Kafka中读取数据流,并转换成Flink DataStream。代码示例: ```java Properties props = new Properties(); props.setProperty("bootstrap.servers", "localhost:9092"); props.setProperty("group.id", "test"); FlinkKafkaConsumer<String> consumer = new FlinkKafkaConsumer<>("my-topic", new SimpleStringSchema(), props); DataStream<String> stream = env.addSource(consumer); ``` 4. 创建Kafka SQL表 使用CREATE TABLE语句,将Kafka数据流转换成Kafka SQL表。代码示例: ```sql CREATE TABLE kafka_table ( `key` STRING, `value` STRING, `timestamp` TIMESTAMP(3) METADATA, WATERMARK FOR `timestamp` AS `timestamp` - INTERVAL '5' SECOND ) WITH ( 'connector' = 'kafka', 'topic' = 'my-topic', 'properties.bootstrap.servers' = 'localhost:9092', 'properties.group.id' = 'test', 'format' = 'json' ) ``` 5. 在Flink SQL中进行数据处理和分析 可以使用Flink SQL语句,在Kafka SQL表上进行数据处理和分析。代码示例: ```sql SELECT COUNT(*) FROM kafka_table WHERE `key` = 'foo' ``` 以上就是使用Kafka SQL Connector在Flink 1.11中将Kafka消息流集成到Flink中的基本步骤。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值