spark消费kafka 从kafka拉取数据部分Task特变慢-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

spark消费kafka 从kafka拉取数据部分Task特变慢

游客tpv44ii4se2r4 2019-06-11 18:36:43 395

项目中使用了sparkStreaming去消费kafka中的数据。

发现了个问题,kafka一共30个分区,会起30个Task去拉取数据。在某些消费批次中会有个别Task从Kafka分区中拉取数据特别慢比别的Task慢了近10倍。直接拖慢了整个处理时间。
但从获取数据的数量上来看并没有发生数据倾斜。处理时间却相差这么多?![P_YP514V_N_KIN5O2CSZQ15](https://yqfile.alicdn.com/16d2d2e8407f593de5ce2cbe73f7e71351fc0f6d.png)
消息中间件 分布式计算 Kafka Spark
分享到
取消 提交回答
全部回答(2)
  • 阿学
    2020-03-29 22:31:52

    是不是使用$SPARK_HOME/sbin/start-all.sh启动spark集群,慢的那个worker节点是否按照slaves中配置的主机名启动(验证一下是不是按照ip启动,在默认8080端口可以看到),因为一方是主机名集合一方是ip地址集合结果造成字符串比较时找不到,本地化全部变成ANY,也就是随机获取计算节点那就意味着可能要将数据发送到计算节点上,会造成计算不均匀,不是本地化计算,基本上都没有在本机上节点运行,所以会产生大量IO,就会很慢

    0 0
  • bigbigtree
    2020-03-19 19:59:21

    确定具体慢的task对应的kafka的分区id,确定分区id所在的物理环境,排查机器是否有问题

    0 0
添加回答
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题