flink kafka 数据丢失

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

flink kafka 数据丢失

stevenchen01
hi:
   版本:flink 1.10 +kafka +hive catalog


   现在我是使用flinkSql ddl 在hivecatalog 注册元数据表,现在启动了4个job ,kafka 4个分区,然后4job 分别根据自己需求去根据hivecatalog 元数据表进行统计,但是出现其中2个job 丢了1条数据,查看kafka 分区偏移量丢失数据分区的偏移量少1。相当于所有任务都共用一个元数据,但是各个统计的任务比如天统计和时统计最后的总数发生偏移,比如天统计为50,时统计则51
| Partition | Latest Offset | Leader | Replicas | In Sync Replicas | Preferred Leader? | Under Replicated? |
| 0 | 352 | 0 | (0) | (0) | true | false |
| 1 | 351 | 0 | (0) | (0) | true | false |
| 2 | 352 | 0 | (0) | (0) | true | false |
| 3 | 352 | 0 | (0) | (0) | true | false |
| 4 | 351 | 0 | (0) | (0) | true | false |

问题1:当使用hive catalog 后 只需注册一次数据表?那么指定的kafka group id 在分区消费的时候是随机的?
问题2:我使用checkpoint  重新恢复计算还是会出现该情况?有什么好思路排查?
问题3:这种实时任务数据如何修复,因为我这个全部flink sql,遇到数据计算异常,无从下手。
问题4:本地测试1个taskmanager 10个solt 和10个taskmanager 10个solt ,他们有什么区别?
Reply | Threaded
Open this post in threaded view
|

Re: flink kafka 数据丢失

nobleyd
问题123等其他人,问题4:我感觉本质上区别不大,如果你资源也完全对等的话,比如最终总体分配内存量相同。而且也没必要启10个taskmanager,唯一好处是更加隔离,比如某个taskmanager失败不会导致全部slot失败。但感觉10个tm的方式从linux角度估计会稍微浪费部分资源。

steven chen <[hidden email]> 于2020年8月20日周四 上午9:23写道:

> hi:
>    版本:flink 1.10 +kafka +hive catalog
>
>
>    现在我是使用flinkSql ddl 在hivecatalog 注册元数据表,现在启动了4个job ,kafka 4个分区,然后4job
> 分别根据自己需求去根据hivecatalog 元数据表进行统计,但是出现其中2个job 丢了1条数据,查看kafka
> 分区偏移量丢失数据分区的偏移量少1。相当于所有任务都共用一个元数据,但是各个统计的任务比如天统计和时统计最后的总数发生偏移,比如天统计为50,时统计则51
> | Partition | Latest Offset | Leader | Replicas | In Sync Replicas |
> Preferred Leader? | Under Replicated? |
> | 0 | 352 | 0 | (0) | (0) | true | false |
> | 1 | 351 | 0 | (0) | (0) | true | false |
> | 2 | 352 | 0 | (0) | (0) | true | false |
> | 3 | 352 | 0 | (0) | (0) | true | false |
> | 4 | 351 | 0 | (0) | (0) | true | false |
>
> 问题1:当使用hive catalog 后 只需注册一次数据表?那么指定的kafka group id 在分区消费的时候是随机的?
> 问题2:我使用checkpoint  重新恢复计算还是会出现该情况?有什么好思路排查?
> 问题3:这种实时任务数据如何修复,因为我这个全部flink sql,遇到数据计算异常,无从下手。
> 问题4:本地测试1个taskmanager 10个solt 和10个taskmanager 10个solt ,他们有什么区别?