我正在做一个flink的工作,它从Kafka那里获取MSG,并最终把它们写到Cassandra的Flume里。
我摄入了大约500毫克/秒,这是平Map到约60000Cassandra插入。作业并行度为5(从5个kafka分区读取)。当接收开始时,我看到作业成功地写入了所有msg,kafka消费者并没有落后。
大约一分钟后,我突然开始看到Kafka消费率下降,Kafka记录滞后和Kafka消费者平均回迁时间增加。
查看flinkui,我发现sink操作符(cassandrapojosink)是导致背压的操作符,但是cassandra没有耗尽cpu和内存,对它的写延迟是稳定的和低的。向sink操作符添加更多的并行性(5->20)有一定帮助,但并不能解决问题。
有人能给我指出解决这类问题的正确方向吗?添加越来越多的并行性似乎是一个糟糕的解决方案(或者是?)。
谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!