我想运行一个本地Kafka Connect(KC)集群,它将运行多个不同的“源”和“接收器”连接器。目前,在测试配置中,我将KC集群扩展为3个示例,每个示例消耗大约60 G的堆内存。如何有效地扩展Kafka Connect示例?例如,每个KC示例的推荐CPU/ RAM数量?最大示例数?
m1m5dgzv1#
没有最佳实践,因为它完全取决于您使用的连接器。例如,S3/HDFS在内存中接收缓冲区数据,因此堆大小预计会很大。同样对于接收器连接器,您不能将其任务扩展到其主题的分区数之外。对于JDBC/Debezium源,每个主题不能有多个任务。..如果你只是问如何管理扩展它,那么像Ansible/Terraform这样的配置管理可以提供帮助,假设你没有使用Kubernetes。就我个人而言,我管理过一个多达30个节点的集群,每个服务器可能有64 G的RAM?我忘了EC2类型,但我们需要在每个假日季节再扩展几个节点来处理负载,所以现在它可能是一个更大的集群我不建议从Xmx= 60 G开始,因为垃圾收集可能会导致问题。您需要设置JVM监视并跟踪实际的堆使用情况
1条答案
按热度按时间m1m5dgzv1#
没有最佳实践,因为它完全取决于您使用的连接器。
例如,S3/HDFS在内存中接收缓冲区数据,因此堆大小预计会很大。同样对于接收器连接器,您不能将其任务扩展到其主题的分区数之外。对于JDBC/Debezium源,每个主题不能有多个任务。..
如果你只是问如何管理扩展它,那么像Ansible/Terraform这样的配置管理可以提供帮助,假设你没有使用Kubernetes。
就我个人而言,我管理过一个多达30个节点的集群,每个服务器可能有64 G的RAM?我忘了EC2类型,但我们需要在每个假日季节再扩展几个节点来处理负载,所以现在它可能是一个更大的集群
我不建议从Xmx= 60 G开始,因为垃圾收集可能会导致问题。您需要设置JVM监视并跟踪实际的堆使用情况