问题一:‘=-yD Kerberos 认证问题
大家好
我们这里有通过-yd动态的提交Kerberos认证参数的需求 想问下这个jira为啥被标记为了won’t fix,谢谢 https://issues.apache.org/jira/browse/FLINK-12130
参考回答:
这个问题在最新的代码上已经修复了,在flink 1.9 上应该也是不存在这个问题的,你可以用下看看
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/373573
问题二:slot询问
我在的Flink是在yarn上跑,在yarn上部署了个yarn-session,命令如下:
./yarn-session.sh -jm 5120m -tm 10240m -s 30 -d -st
这里我是设置了一个tm上面跑30个slot,但是我在1.8版本的时候,是在yarn中会看到的是一个tm是使用一个cpu,但是我切换到了1.9.1后,发现是一个slot使用一个cpu,导致我设置的并行超出了yarn中的cpu资源。请问在1.9.1中,如果降低这个cpu使用率?
参考回答:
可以通过 “yarn.containers.vcores” 配置每个 TM 的 CPU。
这个配置项如果不配,默认是用slot数量,1.8 应该也是这个行为才对。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/373576
问题三:Flink1.9批任务yn和ys对任务的影响
跑tpcds的query1: flink run -m yarn-cluster -d -p 100 -yn 20 -ys 5 -yjm 60g -ytm 30g 任务可以正常执行 flink run -m yarn-cluster -d -p 100 -yn 10 -ys 10 -yjm 60g -ytm 30g 任务在做hashjoin的时候就会失败 报错是No pooled slot available and request to ResourceManager for new slot failed 搞不懂这有啥关系,求指教 faaron zheng
参考回答:
Flink 1.9 中 -yn参数应该是不生效的,后续版本中已经删除了这个参数。
根据你的参数,在每个 TM 的内存为30G不变的情况下,每个 TM
中的slot个数(-ys)从5变成10,也就意味着平均每个slot占用的内存变为了原来的一半。
Flink 1.9 的sql batch 算子对 flink managed memory 是有确定的需求的,很可能是这个变化导致单个 slot
的managed memory无法满足算子的资源需求了。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/373577
问题四:source并行度不同导致任务没有数据落地
最近碰到一个很头疼的事情,两个任务相同的sql语句不同的source,任务的并行度为8,一个source是kafka一个source是rabbitmq,kafka和rabbitmq中加载相同的数据后,source为rabbitmq的任务有数据落地,source为kafka的任务运行好几次都不见有数据落地。因为sql中涉及到了窗口,所以考虑过kafka多partition对数据读取顺序的影响,将所有数据都加载到kafka的同一个partition中重启任务后发现还是没有数据落地。考虑到这两个任务唯一的不同点就是源为rabbitmq的任务source算子的并行度为1,所以将源为kafka的任务的source并行度也设为1,运行任务后发现有数据落地了。source并行度的改变应该只是改变了一下source与其它算子之间的数据传递方式,这种改变会对最终的结果造成影响吗?有没有大佬碰到过相同的问题?
flink版本1.9.1
sql:select count(ps_comment) col1,ceil(stddev_pop(ps_availqty)) col2,
tumble_start(over_time,interval '72' hour) col3, tumble_end(over_time,interval '72' hour) col4, ps_date from cirrostream_kafka_ck_source_03_8x3 where ps_availqty <= 489 and ps_supplycost > 998 and ps_comment not like '%ff%' and ps_partkey <= 3751122 or ps_suppkey = 723 group by ps_date,ps_availqty,tumble(over_time,interval '72' hour) having min(ps_partkey) not in (3525711,3738707,3740245)
参考回答:
你是不是指定了Rowtime的列? 如果指定了,Kafka是否有的通道一直没有数据或者数据没有前进?
Window的输出触发是需要watermark前进的,这也就需要你的每个通道都有数据在时间上前进,也就是说每个Kafka的通道都需要有最新时间点的数据源源不断的来。
你设置成一个并发,那就只要一个通道有数据就可以了,所以绕过了这个问题。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/373587
问题五:Flink 1.9 SQL Kafka Connector,Json format,how to d
Flink 1.9 SQL Kafka Connector,Json format,how to deal with not json message? Hi community,when I write the flink ddl sql like this:
CREATE TABLE kafka_src ( id varchar, a varchar, b TIMESTAMP, c TIMESTAMP ) with ( ... 'format.type' = 'json', 'format.property-version' = '1', 'format.derive-schema' = 'true', 'update-mode' = 'append' );
If the message is not the json format ,there is a error in the log。 My question is that how to deal with the message which it not json format? My thought is that I can catch the exception in JsonRowDeserializationSchema deserialize() method,is there any parameters to do this? Thanks your replay.
参考回答:
I'm sorry there is no such configuration for json format currently. I think it makes sense to add such configuration like 'format.ignore-parse-errors' in csv format. I created FLINK-15396[1] to track this.
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/373589