Spark+Kafka如何限速的问题

作者: bd8941f5f5cc | 来源:发表于2019-05-07 12:51 被阅读11次

最近太忙了,上一次更新还是半个月前。不过我觉得终究还是要更新一下的,只是这次实在没时间写什么心得体会或是讨论之类的了,就拿在知乎上回答的一个帖子”偷懒“一下好了。

这个帖子是在知乎上回答如何为Spark Streaming + Kafka应用限速的。同样的问题在知乎上也碰到过几次,还是具有一定的普遍性的,故我这里直接顺手牵羊了, 省的我无中生有写一些我觉得有用的东西,实际上并不是那么回事。要知道拿来主义还是无懈可击的——好久没玩三国杀了,纪念一下~

问题是这样的:SparkStreaming消费Kafka数据的时候,当有大量初始化数据时会拖累整个streaming程序的运行,问有什么办法?    

总体来说这个问题大概有两种解决思路:1.在Spark端设置限速;2.在Kafka端设置限速。

Spark端限速的方法知乎上已有很多帖子说过了,主要的思路是设置不同的参数,比如在Direct模式下设置spark.streaming.kafka.maxRatePerPartition,receiver模式下设置spark.streaming.receiver.maxRate。它们都是控制每秒处理的消息数。应该说目前使用Direct模式的比较多,因此你需要适当地调整spark.streaming.kafka.maxRatePerPartition值。

帖子中的提问题还提出一种思路,即设置spark.streaming.dynamicAllocation.enabled=true打开动态资源分配姑且也可一试吧。有点令人惊讶的是,Spark官网貌似没有这个参数的解释,不知道是否是个疏漏。跑题一下,看来文档的更新在哪个项目中都是一件容易出错的事情。比如Kafka 2.2.0版本新引入的max.connections就没有记录在官网的配置列表中,再加上我有个PR已经pending我一个月了都没有任何回复,我有时真的怀疑社区committer是不是都在忙Kafka Summit,而把日常的PR review都给忘了 。。。。 好吧,纯属吐槽一下,不针对任何人。

对大数据以及人工智能概念都是模糊不清的,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。从java和linux入手,其后逐步的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相关知识一一分享!

回到限速的话题,在Kafka端设置限速有两种办法:

1. 设置broker端参数quota.consumer.default。比如quota.consumer.default=15728640表示将连入该broker的所有consumer的TPS降到15MB/s以下。此参数的好处在于全局生效简单易用,对broker上所有consumer都是”一视同仁“;缺陷也在于此,无法单独为个别consumer限速,故该方法在0.11.0.0版本之后已经不推荐使用。

2. 通过kafka-configs命令。比如下面命令是为client.id为clientA的consumer设置限速:

$ bin/kafka-configs.sh  --zookeeper localhost:2181

--alter

--add-config'consumer_byte_rate=15728640'

--entity-type clients

--entity-name clientA

此命令只为client.id=clientA的consumer设置了限速,故在Spark端你还需要显式设置client.id,比如:

Map<String,Object>kafkaParams=newHashMap<>();

...

kafkaParams.put("client.id","clientA");

...

JavaInputDStream<ConsumerRecord<String,String>>

stream=KafkaUtils.createDirectStream(...);

值得注意的是,在Kafka端设置的限速单位都是每秒字节数。如果你想按照每秒多少条消息进行限速还需要结合消息的平均大小来计算。

相关文章

  • Spark+Kafka如何限速的问题

    最近太忙了,上一次更新还是半个月前。不过我觉得终究还是要更新一下的,只是这次实在没时间写什么心得体会或是讨论之类的...

  • 火力全开!限速是不存在的!

    大家好,我是小阿浩~ 百度网盘限速问题 被吐槽很多次了 5G再快又如何 在这里还是20K下载速度 除了限速问题 百...

  • 如此限速的高速!LOW!

    新华社济南10月3日发布消息,今年以来,关于山东省内限速尤其是高速限速问题颇受关注,限速值忽高忽低,限速值断...

  • 【百度网盘免限速下载器】Proxyee down mac版

    网盘限速严重?网盘下载限速如何破解?今天给您带来的是十分好用而且没有封号隐患的王牌不限速免封号下载器Proxyee...

  • 【百度网盘免限速下载器】Proxyee down mac版

    网盘限速严重?网盘下载限速如何破解?今天给您带来的是十分好用而且没有封号隐患的王牌不限速免封号下载器Proxyee...

  • 全国高速将统一限速标志!

    在开高速你以为的自由自在时,你有没有遇到以下的问题呢? 高速路限速值下降太快 限速值忽高忽低 限速标志混乱、不清晰...

  • apache站点优化--限速

    站点限速 限速介绍 限速方法 限速实现 测试限速 一、限速介绍 网站除了能共享页面给用户外,还能作为下载服务器存在...

  • linux网络设置限速/丢包/延时/乱序

    1. 限速/取消限速/测试限速 限速: wondershaper eth0 10000 8000 下行...

  • 下载限速

    下载限速 限速介绍 应用场景 限速原理 限速实现 一、限速介绍 在生产环境中,为了保护WEB服务器的安全,我们都会...

  • iOS网络限速问题

    这个问题大发了,最近一段时间在测试关于下载课程的问题,因此这种关于网络好喝网络坏的问题,是比必要的,真心想感慨一声...

网友评论

    本文标题:Spark+Kafka如何限速的问题

    本文链接:https://www.haomeiwen.com/subject/lbdeoqtx.html