flink问题之on kubernetes 构建失败如何解决

简介: Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。

问题一:State里面用guava Cache


大家好,我想使用一个 ValueState[Cache]的状态,但是发现这个状态的value 没办法更新,

比如我在map里面每次往cache里面put一个字符串,然后update这个state,输出cache的长度,为什么每次输出长度都是1


参考回答:

你好,为什么需要在 State 里面再用 cache 呢?单纯的 State 不能满足需求吗?需求是什么呢?

另外,除了 ValueState,其他的 ListState/MapState 能否满足你的需求呢?


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372121


问题二:如何在Flink SQL中使用周期性水印?


大佬们, 请教下如何在Flink SQL中使用周期性的水印。 我们在消费kafka时, 想设置在没有数据时水印时间也能继续向前走, 用的是Flink SQL。


参考回答:

这个问题我理解其实和周期性水印没有关系,是属于 idle source

的问题,你可以尝试下加上配置 table.exec.source.idle-timeout = 10s 能不能解决你的问题。[1][1]:

https://ci.apache.org/projects/flink/flink-docs-master/dev/table/config.html#table-exec-source-idle-timeout


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372110


问题三:flink 1.11 on kubernetes 构建失败


按照文档[1]的方法部署session cluster on kubernetes,集群构建的时候出现了如下报错

Starting Task Manager sed: couldn't open temporary file /opt/flink/conf/sedVdyy6Q: Read-only file system sed: couldn't open temporary file /opt/flink/conf/sedcj5VKQ: Read-only file system /docker-entrypoint.sh: 72: /docker-entrypoint.sh: cannot create /opt/flink/conf/flink-conf.yaml: Permission denied sed: couldn't open temporary file /opt/flink/conf/sedB5eynR: Read-only file system /docker-entrypoint.sh: 120: /docker-entrypoint.sh: cannot create /opt/flink/conf/flink-conf.yaml.tmp: Read-only file system [ERROR] The execution result is empty. [ERROR] Could not get JVM parameters and dynamic configurations properly.

是否有遇到同样的问题,支个招

[1] https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/deployment/kubernetes.html#session-cluster-resource-definitions


参考回答:

你是不是对 /opt/flink/conf 目录下的文件进行了sed相关写操作?社区文档中使用的方法是将configmap挂载成本地的flink-conf.yaml 等文件,而这个挂载的目录其实是不可写的。

直接修改configmap里面的内容,这样挂载时候就会自动更新了。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372107


问题四:flink 1.11 中cdc功能中,使用flink sql来操作一个kafka topic中的多张


场景: canal解析binlog后,将db1实例内的多张表(表数据有关联)的变化发送到kafka的单topic,单分区中,从而保证有序; 若我想做数据同步至另一个mysql实例db2中,怎么用flink sql操作多张表,同时保证表与表之间有序呢? 例如mysql实例db1中有表test, statusCREATE TABLE test ( id int(11) NOT NULL, name varchar(255) NOT NULL, time datetime NOT NULL, status int(11) NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8CREATE TABLE status ( status int(11) NOT NULL, name varchar(255) NOT NULL, PRIMARY KEY (status)) ENGINE=InnoDB DEFAULT CHARSET=utf8比如,我用flink sql,可以设置对应的一张test表,然后sink到mysql镜像实例db2的镜像表test,和表status做同步,但status表要怎么操作呢?如何保证有序?我目前能实现单表,确实方便,求助,多表的怎么做有序同步?CREATE TABLE test (id INT,name VARCHAR(255),time TIMESTAMP(3),status INT,PRIMARY KEY(id) NOT ENFORCED ) WITH ( 'connector'='kafka', 'topic'='test', 'properties.group.id'='c_mysql_binlog_postgres', 'properties.bootstrap.servers'='localhost:9092', 'scan.startup.mode'='earliest-offset', 'format'='canal-json', 'canal-json.ignore-parse-errors'='true');CREATE TABLE status (status INT,name VARCHAR(255),PRIMARY KEY(name) NOT ENFORCED ) WITH ( 'connector'='kafka', 'topic'='test', 'properties.group.id'='c_mysql_binlog_postgres', 'properties.bootstrap.servers'='localhost:9092', 'scan.startup.mode'='earliest-offset', 'format'='canal-json', 'canal-json.ignore-parse-errors'='true');


参考回答:

另外,我理解下你的需求是 db1.test 同步到 db2.test, db1.status 同步到 db2.status?

多表的有序同步是指?

我理解你只需要像定义 db1.test -> db2.test 一样,定义好 db1.status binlog table 然后 insert

into 到 db2.status mysql table就行了。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372093


问题五:flink 1.11 connector jdbc 依赖解析失败


我看下了maven仓库里有的[1], 官网文档里也有下载链接[2],是不是pom里的依赖没有写对?1.11 jdbc connector 的module名从 flink-jdbc 规范到了 flink-connector-jdbc。 [1] https://repo.maven.apache.org/maven2/org/apache/flink/flink-connector-jdbc_2.11/1.11.0/ https://repo.maven.apache.org/maven2/org/apache/flink/flink-connector-jdbc_2.11/1.11.0/ [2] https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/jdbc.html https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/jdbc.html


参考回答:

感谢提醒,我是在https://mvnrepository.com/这个上面搜没搜到对应的包的,不过,module名改成flink-connector-jdbc,可以了,感谢提醒


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/372091

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
3月前
|
Kubernetes Devops 应用服务中间件
基于 Azure DevOps 与阿里云 ACK 构建企业级 CI/CD 流水线
本文介绍如何结合阿里云 ACK 与 Azure DevOps 搭建自动化部署流程,涵盖集群创建、流水线配置、应用部署与公网暴露,助力企业高效落地云原生 DevOps 实践。
378 0
消息中间件 存储 传感器
241 0
|
9月前
|
存储 Kubernetes 调度
|
9月前
|
SQL 存储 API
Flink Materialized Table:构建流批一体 ETL
Flink Materialized Table:构建流批一体 ETL
188 3
|
9月前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
645 2
|
10月前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
本文整理自鹰角网络大数据开发工程师朱正军在Flink Forward Asia 2024上的分享,主要涵盖四个方面:鹰角数据平台架构、数据湖选型、湖仓一体建设及未来展望。文章详细介绍了鹰角如何构建基于Paimon的数据湖,解决了Hudi入湖的痛点,并通过Trino引擎和Ranger权限管理实现高效的数据查询与管控。此外,还探讨了湖仓一体平台的落地效果及未来技术发展方向,包括Trino与Paimon的集成增强、StarRocks的应用以及Paimon全面替换Hive的计划。
1252 1
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
10月前
|
SQL 存储 API
Flink Materialized Table:构建流批一体 ETL
本文整理自阿里云智能集团 Apache Flink Committer 刘大龙老师在2024FFA流批一体论坛的分享,涵盖三部分内容:数据工程师用户故事、Materialized Table 构建流批一体 ETL 及 Demo。文章通过案例分析传统 Lambda 架构的挑战,介绍了 Materialized Table 如何简化流批处理,提供统一 API 和声明式 ETL,实现高效的数据处理和维护。最后展示了基于 Flink 和 Paimon 的实际演示,帮助用户更好地理解和应用这一技术。
849 7
Flink Materialized Table:构建流批一体 ETL
|
11月前
|
SQL 监控 关系型数据库
用友畅捷通在Flink上构建实时数仓、挑战与最佳实践
本文整理自用友畅捷通数据架构师王龙强在FFA2024上的分享,介绍了公司在Flink上构建实时数仓的经验。内容涵盖业务背景、数仓建设、当前挑战、最佳实践和未来展望。随着数据量增长,公司面临数据库性能瓶颈及实时数据处理需求,通过引入Flink技术逐步解决了数据同步、链路稳定性和表结构差异等问题,并计划在未来进一步优化链路稳定性、探索湖仓一体架构以及结合AI技术推进数据资源高效利用。
812 25
用友畅捷通在Flink上构建实时数仓、挑战与最佳实践
|
12月前
|
存储 关系型数据库 BI
实时计算UniFlow:Flink+Paimon构建流批一体实时湖仓
实时计算架构中,传统湖仓架构在数据流量管控和应用场景支持上表现良好,但在实际运营中常忽略细节,导致新问题。为解决这些问题,提出了流批一体的实时计算湖仓架构——UniFlow。该架构通过统一的流批计算引擎、存储格式(如Paimon)和Flink CDC工具,简化开发流程,降低成本,并确保数据一致性和实时性。UniFlow还引入了Flink Materialized Table,实现了声明式ETL,优化了调度和执行模式,使用户能灵活调整新鲜度与成本。最终,UniFlow不仅提高了开发和运维效率,还提供了更实时的数据支持,满足业务决策需求。
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构

热门文章

最新文章

相关产品

  • 实时计算 Flink版
  • 推荐镜像

    更多