flink中读取kafka消息写进es中消费进度过慢问题

问题:在数据量较小的时候,从kafka中读取消息并写入es,没什么问题。但是等数据量多的时候,发现读kafka消息向es写入速度明显变慢,出现了时间上较大的延迟。最后排查原因,发现是es有提交的机制,设置的最大的提交量是1,这样就会导致数据每来一条就要执行一次提交的操作,这样极大的拖慢了整个系统的处理速度。

esSinkBuilder.setBulkFlushMaxActions(1);

后面修改为

        esSinkBuilder.setBulkFlushMaxActions(1000);
        esSinkBuilder.setBulkFlushInterval(2000);

每一千条或每2秒提交一次,问题得以解决

你可能感兴趣的:(java,flink,elasticsearch)