一、各种命令

启动kafka:
./kafka-server-start.sh ../config/server.properties 1>/dev/null 2>&1 & # kafka-server-start.sh 脚本在 kafka_2.12-2.2.0/bin路径下

列出所有主题中的所有用户组

kafka-consumer-groups.sh --bootstrap-server  kafka连接串  --list

查看已创建的topic列表:
./kafka-topics.sh --list --zookeeper localhost:2181

 描述topic

kafka-topics.sh --describe --zookeeper  localhost:2181(zk连接串) --topic test (topic名称)

查看对应topic的描述信息:
./kafka-topics.sh --describe --zookeeper xx.x.xxx.xxx:2181(zk的连接串) --topic xxxxx.xx.xxxxx.xxx # --zookeeper为zookeeperIP, --topic为topic名称

 描述消费组信息

kafka-consumer-groups.sh --bootstrap-server   kafka连接串   --describe --group group1

 提供使用者组中所有活动成员列表

kafka-consumer-groups.sh --bootstrap-server 10.1.3.84:9098 --describe --group group1 --members

消费消息:
./kafka-console-consumer.sh --bootstrap-server localhost:9092(或kafka的连接串) --topic xxxxx.xx.xxxxx.xxx --from-beginning # 若没有任何返回或没有响应,则该topic中没有数据内容;否则就是有数据

 增加topic分区数

kafka-topics.sh --zookeeper  xx.x.xxx.xxx:2181(zk的连接串) --alter --topic test --partitions 10

 

删除topic:只会删除zookeeper中的元数据,消息文件需手动删除

kafka-topics.sh --delete --zookeeper   localhost:2181(zk连接串) --topic test (topic名称)

删除消费组

kafka-consumer-groups.sh --bootstrap-server localhost:9092  --delete --group xxx 

 

查看topic消费进度,必须参数为--group, 不指定--topic,默认为所有topic

./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group group1

 

二、处理kafka积压问题

kafka节点如何看leader 查看kafka的连接数_kafka节点如何看leader

  

消息积压的解决方法

加强监控报警以及完善重新拉起任务机制,这里就不赘述了。

1.实时/消费任务挂掉导致的消费积压的解决方法

在积压数据不多和影响较小的情况下,重新启动消费任务,排查宕机原因。

如果消费任务宕机时间过长导致积压数据量很大,除了重新启动消费任务、排查问题原因,还需要解决消息积压问题。

解决消息积压可以采用下面方法。

  1. 任务重新启动后直接消费最新的消息,对于"滞后"的历史数据采用离线程序进行"补漏"。
  2. 如下面图所示。创建新的topic并配置更多数量的分区,将积压消息的topic消费者逻辑改为直接把消息打入新的topic,将消费逻辑写在新的topic的消费者中。

如果还需要保证消息消费的局部有序,可以将消费者线程池改成多个队列,每个队列用单线程处理

2.Kafka分区数设置的不合理或消费者"消费能力"不足的优化

Kafka分区数是Kafka并行度调优的最小单元,如果Kafka分区数设置的太少,会影响Kafka Consumer消费的吞吐量。

如果数据量很大,Kafka消费能力不足,则可以考虑增加Topic的Partition的个数,同时提升消费者组的消费者数量。

3.Kafka消息key设置的优化

使用Kafka Producer消息时,可以为消息指定key,但是要求key要均匀,否则会出现Kafka分区间数据不均衡。

所以根据业务,合理修改Producer处的key设置规则,解决数据倾斜问题。

 

三。判断kafka是否正常运行

1.进入kafka,查看kafka是否有topic及topic情况

]# kw exec -it kafka-0 -- bash

:/$ cd opt/bitnami/kafka/bin/

:/$kafka-topics.sh --list --zookeeper=zookeeper:2181

2,选定任意消费组检查

,$ ./kafka-topics.sh --describe --zookeeper=zookeeper:2181 --topic appli

kafka节点如何看leader 查看kafka的连接数_kafka_02

 

查看没有看到Leader:2,2有问题,重启kakfa-2,

3,若还没有,重新创建一个topic,在查看消费组试试

$ $ ./kafka-topics.sh  --zookeeper zookeeper:2181 --topic test --create --partitions 12 --replication-factor 2

$ kafka-topics.sh --list --zookeeper=zookeeper:2181

$ ./kafka-topics.sh --describe --zookeeper=zookeeper:2181 --topic test

kafka节点如何看leader 查看kafka的连接数_kafka_03

 

 正确,kafka没问题