Kafka使用最佳实践-Kafka集群操作规范
Kafka集群在使用过程中会出现各种各样的操作场景,修改配置参数、集群异常等各种重启场景等,操作过程中需要注意一些注意事项。
离线重启kafka集群
-
如果需要修改kafka服务端的配置,点击保存配置后,不要勾选“重新启动受影响的服务或实例”。
-
重启kafka进程前,需要停止生产端的业务,否则很容易出现kafka由于数据不同步导致的无法启动或者启动缓慢。
-
停止生产端业务后,等待1~2分钟,停止kafka集群,等待集群完全停止后再启动kafka集群。
-
等待集群中所有的实例状态变为“良好”后,执行./kafka-topics.sh --describe –zookeeper zkip:24002/kafka 查看是否存在leader:-1或者leader:none的分区。如果没有启动生产业务即可。
滚动重启kafka集群
重启前准备
- 安装kafka的客户端,见产品文档:前提条件。
- 操作过程请选择在集群业务数据量低峰期操作。
- 如果集群中有使用sparkStreaming的业务需要,关闭对应topic的unclean参数,见《Spark2x中使用SparkStreaming消费kafka数据常见的问题》。
操作步骤:
- 使用客户端执行命令:
./kafka-topics.sh –zookeeper zookeeperip:24002/kafka --describe --under-replicated-partitions
检查结果是否为空,如果为空则执行第下一步。如果不为空则需要按照《副本同步线程异常下线排查和解决办法》修复,直到上述命令执行为空(注意:修复并且重启过的节点在后面的滚动重启步骤中可以跳过)。为空则执行下一步。
2) 进入kafka实例列表,对kafka的一个实例进行手动重启。
-
重启完成并且节点状态变为良好后,进入kafka后台客户端再次查询未完全同步的分区,持续执行,直到查询结果为空为止。
-
执行leader均衡操作:
./kafka-preferred-replica-election.sh --zookeeper zookeeperIP:24002/kafka
得到以下结果后表示执行完成: -
执行步骤2)指导集群中所有的实例重启结束。
- 点赞
- 收藏
- 关注作者
评论(0)