【发布时间】:2018-08-28 06:51:21
【问题描述】:
我的雇主有一个 Kafka 集群来处理有价值的数据。有什么方法可以让我们了解我们的集群运行的容量百分比是多少?我们的集群可以处理更大的流量吗?一个节点宕机,我们还能活一个小时或一天吗?
【问题讨论】:
-
我们的集群运行的容量百分比——听起来你需要一个适当的硬件级别监控解决方案,而不仅仅是 Kafka JVM 监控。你能不能活下来取决于你没有提到的主题复制因子或者你的集群有多大
-
我有一个完整的 Prometheus 指标跟踪系统,它跟踪通过 JMX 报告的所有 Kafka 指标,还使用 Prometheus 节点导出器来跟踪系统指标,例如 CPU/RAM/磁盘使用等。您是指 JMX 监控而不是 JVM 监控吗?这是否是“适当的”监控解决方案?
-
JMX 是一种监控 JVM 的技术,所以这就是我的意思。 Kafka 占用 CPU 和磁盘资源并分配一些堆空间,并进行 GC-ing...如果不提供有关集群指标的更多信息,您在此处寻找的答案并不清楚。
-
如果我的 3 节点集群处理 10k 记录/秒,我能否将流量翻倍至 20k 记录/秒而不会出现性能问题?我什么时候需要一个 5 节点集群,它会提供多少容量?我可以查看我当前的集群使用情况并大致了解我正在运行的容量吗?
-
那么,您的 Kafka 数据磁盘平均已接近 70% 左右吗?你的 CPU 快用完了吗? 20k 条记录时是否低于 50%?您是否使这些服务器的网卡饱和?流量或节点数量不是唯一的因素……你给了 Kafka 多少堆?多少个内核/CPUS?你可以拥有数十台小型服务器或几台强大的服务器...... Kafka 带有一个内置的性能测试器,我建议你尝试一些负载测试
标签: apache-kafka capacity-planning