当前位置: 首页 > 知识库问答 >
问题:

GCP/Dataproc上Kafka、Spark、Elasticsearch堆栈的吞吐量

强保臣
2023-03-14

我正在做一个研究项目,我在谷歌云平台上安装了一个完整的数据分析管道。我们使用Spark上的HyperLogLog实时估计每个URL的唯一访问者。我使用Dataproc来设置Spark集群。这项工作的一个目标是根据集群大小来度量体系结构的吞吐量。Spark集群有三个节点(最小配置)

使用Java编写的数据生成器模拟数据流,其中我使用了kafka producer API。体系结构如下所示:

我用一个完整的简单Spark作业测试了它,该作业只做一个简单的映射,以排除诸如Elasticsearch写入速度慢或作业本身的问题等原因。Kafka似乎也能正确地接收和发送所有的事件。

此外,我用Spark配置参数进行了实验:Spark.streaming.kafka.maxrateperpartitionSpark.streaming.receiver.maxrate,结果相同。

有人知道这里出了什么问题吗?这似乎真的取决于Spark工作或DataProc...但我不确定。所有的CPU和内存利用率似乎都没问题。

共有1个答案

冉弘化
2023-03-14

鉴于信息的稀疏,很难说。我怀疑是内存问题--在某个时候,服务器甚至可能开始交换。因此,检查所有服务器上的JVM内存利用率和交换活动。Elasticsearch应该能够处理15000条/秒的记录,只需很少的调整。检查服务器上的空闲内存和提交内存。

 类似资料:
  • 我正在对ElasticSearch进行基准测试,以实现非常高的索引吞吐量。 我目前的目标是能够在几个小时内索引30亿(3,000,000,000)文档。为此,我目前有3台windows服务器机器,每台16GB内存和8个处理器。插入的文档有一个非常简单的映射,只包含少数数字非分析字段(被禁用)。 使用这个相对适中的钻机,我能够达到每秒大约120,000个索引请求(使用大桌子监控),我相信吞吐量可以进

  • 无论从什么角度来看,它都不是。 假设我有两个消费者,它们以每秒“10”条消息的速度从给定主题中消耗数据。现在,不管它们是从单个分区还是从两个不同的分区进行消耗;我的吞吐量将保持不变,每秒20条消息。 我觉得我一定漏了一些内部工作的细节,你能帮我解释一下kafka分区(多个)是如何帮助提高固定用户数量的吞吐量的,而不是单个kafka分区。

  • 我们有一个Kafka集群,由3个节点组成,每个节点有32GB内存和6个内核2.5 CPU。 我们写了一个 kafka 制作人,它接收来自 Twitter 的推文,然后分批发送给 Kafka,每批 5000 条推文。 在生产者中,我们使用

  • 本文向大家介绍Kafka 是如何实现高吞吐率的?相关面试题,主要包含被问及Kafka 是如何实现高吞吐率的?时的应答技巧和注意事项,需要的朋友参考一下 Kafka是分布式消息系统,需要处理海量的消息,Kafka的设计是把所有的消息都写入速度低容量大的硬盘,以此来换取更强的存储能力,但实际上,使用硬盘并没有带来过多的性能损失。kafka主要使用了以下几个方式实现了超高的吞吐率: 顺序读写; 零拷贝

  • 来自AWS Lambda常见问题解答: Q: 我一次可以执行的AWS Lambda函数的数量是否有限制? 不需要。AWS Lambda旨在并行运行多个函数实例。然而,AWS Lambda的默认安全限制为每个区域每个帐户100次并发执行。如果您希望提交请求以增加100次并发执行的限制,您可以访问我们的支持中心,单击“打开新案例”,然后提交服务限制增加请求。 Q: 如果我的帐户超过并发执行的默认限制,

  • 在大数据存储中,IOPS和吞吐量之间的关键区别是什么