流式传输中眨眼性能下降的原因

时间:2016-10-17 08:08:05

标签: hadoop spark-streaming apache-flink flink-streaming

目前我们使用1分钟批处理间隔的spark来处理数据。数据流就像HTTP端点 - > Spring XD - > kafka - > Spark Streaming - > HBASE。格式为JSON。我们在一个环境中运行火花作业,该环境有6个节点管理器,每个节点管理器有16个CPU核心和110 GB RAM。对于缓存metedata,使用scala的triemap,因此缓存将是每个执行程序。使用以下设置的Spark结果:

Kafka partitions - 45
Spark executors - 3
Cores per executor -15
Number of JSON records 455 000 received over a time of 10 minutes.

Spark在12分钟内处理了记录。每个执行程序每秒可以处理大约350-400条记录。 Json解析,验证,其他内容在加载到HBASE之前完成。

使用几乎相同的代码修改flink我运行了部署在YARN集群中的flink流的代码。使用以下设置的Flink结果:

Kafka partitions - 45
Number of Task Managers for running the job - 3
Slots per TM - 15
Parallelism  - 45
Number of JSON records 455 000 received over a time of 10 minutes.

但flink需要将近50分钟来处理记录。每个TM进程每秒30-40条记录。

我在这里缺少什么?除了上述影响性能之外,还有其他参数/​​配置吗?工作流程是DataStream - >地图 - >自定义功能。我怎么能在这里提高flink的性能呢?

0 个答案:

没有答案