我正在测试flink处理不同数据量的性能,所以我需要Job Runtime来记录和分析。
当我使用flink处理像一万条记录这样的小数据集时,我可以得到如下的Job Runtime日志。
07/18/2017 17:41:47 DataSink (collect())(1/1) switched to FINISHED
07/18/2017 17:41:47 Job execution switched to status FINISHED.
Program execution finished
Job with JobID 3f7658725aaae8cd3427d2aad921f2ef has finished.
Job Runtime: 1124 ms
Accumulator Results:
- c28953fb854da74d18dc7c168b988ca2 (java.util.ArrayList) [15433 elements]
但是当我使用flink来处理像五十万条记录这样大一点的数据集时,我无法得到Job Runtime信息,如下所示,并且shell被卡住了:
07/18/2017 17:49:33 DataSink (collect())(1/1) switched to FINISHED
07/18/2017 17:49:33 Job execution switched to status FINISHED.
我需要修改哪些配置?
为什么在数据集较大时shell会卡住?
希望有人能回答我的疑惑。谢谢〜
答案 0 :(得分:0)
Flink使用Akka进行远程通信,累加器结果作为单个消息发送回客户端。 Akka强加了最大的邮件大小,你可能达到了极限。一些建议:
akka.framesize
。有关详细信息,请参阅Flink documentation。