Flink提交问题之job无法提交如何解决

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。

问题一:flink 1.11.2 on yarn 可用slot始终为0,job无法提交如何处理?

http://apache-flink.147419.n8.nabble.com/file/t1162/Screenshot_2020-12-09_153858.png

启动命令: ./bin/flink run-application -t yarn-application -Djobmanager.memory.process.size=2048m -Dtaskmanager.memory.process.size=2048m -Dyarn.application.name="Test Job" -c com.jacob.Main /opt/app/test.jar

Hadoop集群 资源充足。flink无法为job分配slot。 *来自志愿者整理的flink邮件归档



参考答案:

jobmanager 的日志方便发下吗?

另外,可以看下 yarn 是否分配了 taskmanager 的 container,如果有的话通过 yarn 获取以下 taskmanager

的日志。

Thank you~*来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/370052?spm=a2c6h.13066369.question.16.33bf585fottvLO



问题二:FlinkSQL如何定义JsonObject数据的字段类型

flink version: 1.11.2 api: flink-sql

场景:使用flink sql定义了一张kafka的source表,kafka中数据为json格式的字符串。 其中context是json的一个键,其值为jsonObject,数据示例如下: { “id”: 1, "context”: { … (这里的数据为jsonObject,具体schema不确定, 由各个业务方自行确定,可能嵌套,也可能不嵌套,完全不可控) } } 建表语句为: CREATE TABLE json_source ( id bigint, context ) WITH ( 'connector' = 'kafka’, 'format' = 'json’ );

问题: 该使用什么数据类型来指定类型 呢?从目前的flink sql 的 data type 里感觉没有很合适的匹配项,不管是ROW,或者MAP都不太合适。 *来自志愿者整理的flink邮件归档



参考答案:

可以用string*来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/370109?spm=a2c6h.13066369.question.19.33bf585f6mhu88



问题三:flink sql 1.11 kafka cdc与holo sink有一些问题

flink sql 1.11 创建kafka source 表 ,kafka数据是canal采集的mysql 信息,'format' = 'canal-json', 问题是 1,在source表中只能有与msyql对应的schema信息么,(也就是data[{}]里面的字段)能不能获取table,ts这种字段的值? 2,对于一个topic中有多张mysql binlog信息的表,kafka source表是如何区分的,依赖于schema的不同吗? 3,这种source表,与holo sink 表结合使用,遇到delete类型的数据会在holo中删除该条数据吗?'ignoreDelete' = 'false' *来自志愿者整理的flink邮件归档



参考答案:

  1. 目前不支持。 已有 issue 跟进支持 https://issues.apache.org/jira/browse/FLINK-20385
  2. 配上 canal-json.table.include = 't1' 来过滤表。暂不支持正则过滤。
  3. 会*来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/370054?spm=a2c6h.13066369.question.18.33bf585fcvaO9V



问题四:flink11 SQL 如何支持双引号字符串?

我在迁移hive  sql 到 flink引擎。原来的很多 hive  sql  中

字符串都是用双引号表示,例如  select * from table1 where column1 =

"word"。我如何在不修改SQL的前提下,使flink SQL 支持 双引号字符串。

ps:我看到flink SQL中字符串都必须用 单引号,例如 select * from table1 where column1 =

'word' 。如何使 字符串 既可以是单引号 也可以是  双引号呢*来自志愿者整理的flink邮件归档



参考答案:

是跟这个 Issue 有关吗?https://issues.apache.org/jira/browse/FLINK-20537*来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/370055?spm=a2c6h.13066369.question.19.33bf585fYvBtt6



问题五:关于flink sql往postgres写数据遇到的timestamp问题

项目需求要向 postgres 中插入数据,用 catalog 之后,插入数据貌似需要和数据库表定义完全一致,而且没找到只插入部分字段的写法 在时间转 TIMESTAMP(6) WITH LOCAL TIME ZONE 时报了错,这个格式是 postgres 中的时间戳定义 select cast(localtimestamp as TIMESTAMP(6) WITH LOCAL TIME ZONE); 有没有什么转换方法?或者只插入部分数据的方法? 报错信息: Exception in thread "main" org.apache.flink.table.client.SqlClientException: Unexpected exception. This is a bug. Please consider filing an issue. at org.apache.flink.table.client.SqlClient.main(SqlClient.java:213) Caused by: org.apache.flink.table.api.TableException: Unsupported conversion from data type 'TIMESTAMP(6) WITH LOCAL TIME ZONE NOT NULL' (conversion class: java.time.Instant) to type information. Only data types that originated from type information fully support a reverse conversion. at org.apache.flink.table.types.utils.LegacyTypeInfoDataTypeConverter.toLegacyTypeInfo(LegacyTypeInfoDataTypeConverter.java:259) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:546) at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:438) at org.apache.flink.table.types.utils.LegacyTypeInfoDataTypeConverter.convertToRowTypeInfo(LegacyTypeInfoDataTypeConverter.java:329) at org.apache.flink.table.types.utils.LegacyTypeInfoDataTypeConverter.toLegacyTypeInfo(LegacyTypeInfoDataTypeConverter.java:237) at org.apache.flink.table.types.utils.TypeConversions.fromDataTypeToLegacyInfo(TypeConversions.java:49) at org.apache.flink.table.api.TableSchema.toRowType(TableSchema.java:271) at org.apache.flink.table.client.gateway.local.result.CollectStreamResult. (CollectStreamResult.java:71) at org.apache.flink.table.client.gateway.local.result.MaterializedCollectStreamResult. (MaterializedCollectStreamResult.java:101) at org.apache.flink.table.client.gateway.local.result.MaterializedCollectStreamResult. (MaterializedCollectStreamResult.java:129) at org.apache.flink.table.client.gateway.local.ResultStore.createResult(ResultStore.java:83) at org.apache.flink.table.client.gateway.local.LocalExecutor.executeQueryInternal(LocalExecutor.java:608) at org.apache.flink.table.client.gateway.local.LocalExecutor.executeQuery(LocalExecutor.java:465) at org.apache.flink.table.client.cli.CliClient.callSelect(CliClient.java:555) at org.apache.flink.table.client.cli.CliClient.callCommand(CliClient.java:311) at java.util.Optional.ifPresent(Optional.java:159) at org.apache.flink.table.client.cli.CliClient.open(CliClient.java:212) at org.apache.flink.table.client.SqlClient.openCli(SqlClient.java:142) at org.apache.flink.table.client.SqlClient.start(SqlClient.java:114) at org.apache.flink.table.client.SqlClient.main(SqlClient.java:201)*来自志愿者整理的flink邮件归档



参考答案:

看报错信息,你并没有 insert into postgres,而是只是 select 了 query,这个会将运行结果显式在 sql client 界面上,而不会插入到 postgres 中。

你的 query 中有 timestamp with local time zone, 而 sql client 的 query运行结果的显式 还不支持这个类型。

这个问题的解决可以关注下这个 issue:https://issues.apache.org/jira/browse/FLINK-17948 *来自志愿者整理的flink邮件归档



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/370056?spm=a2c6h.13066369.question.22.33bf585fLoUq0n

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
6月前
|
消息中间件 Java Kafka
Flink CDC 在外部查询某个 job 中的表数据
【2月更文挑战第27天】Flink CDC 在外部查询某个 job 中的表数据
81 5
|
4月前
|
数据处理 API 调度
深入理解Flink Flink Job提交和Flink Graph详解
Apache Flink通过其高效的作业提交流程及灵活的Graph表示,为处理大规模数据流提供了强大的能力。理解Flink Job的提交与任务调度,以及Flink Graph的构建和优化,是深入掌握Flink并高效利用其处理能力的关键。Flink的设计哲学和强大功能使其成为实时数据处理领域的重要选择之一。
168 3
|
4月前
|
SQL 缓存 资源调度
实时计算 Flink版产品使用问题之在Flink on Yarn模式下,如何对job作业进行指标监控
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
SQL API 数据处理
实时计算 Flink版产品使用问题之如何避免集群重启后job信息和运行状态丢失
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
SQL 关系型数据库 数据处理
实时计算 Flink版产品使用问题之如何在外部查询某个job中的表数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
消息中间件 Oracle Kafka
实时计算 Flink版产品使用问题之启动多个job清洗会对原数据库的Binlog造成什么影响
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
资源调度 分布式计算 Oracle
实时计算 Flink版操作报错合集之flink on yarn job manager 可以启动, 但不给分配slot ,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
175 0
|
6月前
|
存储 监控 调度
【Flink】怎么提交的实时任务,有多少Job Manager?
【4月更文挑战第18天】【Flink】怎么提交的实时任务,有多少Job Manager?
|
6月前
|
Oracle 关系型数据库 数据库
实时计算 Flink版操作报错合集之执行Flink job,报错“Could not execute SQL statement. Reason:org.apache.flink.table.api.ValidationException: One or more required options are missing”,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
335 0
|
6月前
|
消息中间件 Java Kafka
实时计算 Flink版操作报错合集之在运行过程中遇到"Could not upload job files"的问题如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
153 0

相关产品

  • 实时计算 Flink版