TR-4947:使用NetApp NFS 存储的 Apache Kafka 工作负载 - 功能验证和性能
Shantanu Chakole、Karthikeyan Nagalingam 和 Joe Scott, NetApp
Kafka 是一个分布式发布-订阅消息系统,具有强大的队列,可以接受大量消息数据。使用 Kafka,应用程序可以非常快速地向主题写入和读取数据。由于其容错性和可扩展性,Kafka 通常被用在大数据领域,作为一种可靠的方式来快速提取和移动大量数据流。用例包括流处理、网站活动跟踪、指标收集和监控、日志聚合、实时分析等。
尽管 NFS 上的正常 Kafka 操作运行良好,但在 NFS 上运行的 Kafka 集群调整大小或重新分区期间,愚蠢的重命名问题会导致应用程序崩溃。这是一个重大问题,因为必须调整 Kafka 集群的大小或重新分区以实现负载平衡或维护目的。您可以找到更多详细信息 "此处"。
本文档描述了以下主题:
-
愚蠢的重命名问题和解决方案验证
-
降低 CPU 利用率以减少 I/O 等待时间
-
更快的 Kafka 代理恢复时间
-
云端和本地的性能
为什么使用 NFS 存储来存储 Kafka 工作负载?
生产应用程序中的 Kafka 工作负载可以在应用程序之间传输大量数据。这些数据保存并存储在 Kafka 集群中的 Kafka 代理节点中。 Kafka 还以可用性和并行性而闻名,它通过将主题分成多个分区,然后在整个集群中复制这些分区来实现。这最终意味着流经 Kafka 集群的大量数据通常会成倍增加。随着代理数量的变化,NFS 可以非常快速和轻松地重新平衡数据。对于大型环境,当代理数量发生变化时,跨 DAS 重新平衡数据非常耗时,并且在大多数 Kafka 环境中,代理数量经常发生变化。
其他好处包括:
-
到期。 NFS 是一种成熟的协议,这意味着它的实现、保护和使用的大多数方面都已被很好地理解。
-
打开。 NFS 是一个开放协议,其持续发展在互联网规范中被记录为一个自由开放的网络协议。
-
具有成本效益。 NFS 是一种低成本的网络文件共享解决方案,由于它使用现有的网络基础设施,因此易于设置。
-
集中管理。 NFS 的集中管理减少了单个用户系统上添加软件和磁盘空间的需要。
-
分布式。 NFS 可以用作分布式文件系统,减少对可移动介质存储设备的需求。
为什么选择NetApp来处理 Kafka 工作负载?
NetApp NFS 实施被认为是该协议的黄金标准,并被应用于无数企业 NAS 环境中。除了NetApp的信誉之外,它还提供以下优势:
-
可靠性和效率
-
可扩展性和性能
-
高可用性( NetApp ONTAP集群中的 HA 合作伙伴)
-
数据保护
-
灾难恢复(NetApp SnapMirror)。*您的网站瘫痪了,或者您想从另一个网站开始并从上次中断的地方继续。
-
存储系统的可管理性(使用NetApp OnCommand进行管理)。
-
*负载平衡。*该集群允许您从托管在不同节点上的数据 LIF 访问不同的卷。
-
无中断运行。 LIF 或卷移动对于 NFS 客户端来说是透明的。
-