Kafka 命令总结

1.查看topic是否正常: topic副本,leader
可在集群任何节点执行
opt/kafka_2.11-0.10.0.0/bin/kafka-topics.sh    --describe   --zookeeper hadoop:12181,spark:12181/kafka10 --topic  nongfunginxlog


2.验证所指定的一个或多个Topic下每个Partition对应的所有Replica是否都同步
opt/kafka_2.11-0.10.0.0/bin/kafka-replica-verification.sh  --broker-list hadoop:19092,spark:19092   --topic-white-list  nongfunginxlog




3.有了Replication机制后,每个Partition可能有多个备份。某个Partition的Replica列表叫作AR(Assigned Replicas),AR中的第一个Replica即为“Preferred Replica”。创建一个新的Topic或者给已有Topic增加Partition时,Kafka保证Preferred Replica被均匀分布到集群中的所有Broker上。理想情况下,Preferred Replica会被选为Leader。以上两点保证了所有Partition的Leader被均匀分布到了集群当中,这一点非常重要,因为所有的读写操作都由Leader完成,若Leader分布过于集中,会造成集群负载不均衡。但是,随着集群的运行,该平衡可能会因为Broker的宕机而被打破,该工具就是用来帮助恢复Leader分配的平衡




4.均衡topic的partition的leader到各个节点,使每个broker的负载能够均衡承担,增加稳定性,可用性(特别适用于某些broker重新回复到ISR中时,进行topic的各partitions leader的均衡分布
同时,与运行该工具前相比,Leader的分配更均匀
$KAFKA_HOME/bin/kafka-preferred-replica-election.sh  --zookeeper hadoop:12181,spark:12181/kafka10


注:

 除了手动运行该工具使Leader分配均匀外,Kafka还提供了自动平衡Leader分配的功能,该功能可通过将auto.leader.rebalance.enable设置为true开启,它将周期性检查Leader分配是否平衡,若不平衡度超过一定阈值则自动由Controller尝试将各Partition的Leader设置为其Preferred Replica。检查周期由leader.imbalance.check.interval.seconds指定,不平衡度阈值由leader.imbalance.per.broker.percentage指定。   




5.查看kafka topic在zookeeper上的状态:
leader
opt/zookeeper-3.4.11/bin/zkCli.sh  -server hadoop:12181


查看brokerid(cluster broker是否正常)
get /kafka10/brokers/ids/1


get /kafka10/brokers/ids/0


follower
opt/zookeeper-3.4.11/bin/zkCli.sh  -server spark:12181


6.
a)查看redis 保存offset 时间


keys * 得到时间戳




b)date -d @时间戳




c)查看kafka进入消息




7.kill当前机器运行的 kafka-console-consumer.sh
cat killKafkaConsole.sh


#! /bin/bash


kafkaconsolePid=`jps | grep -v grep | grep ConsoleConsumer | cut -d " " -f 1 `
#echo $kafkaconsolePid
kill -9  ${kafkaconsolePid}
echo "is done"




8.查看topic

kafka-topics.sh    --describe   --zookeeper hadoop:2181/kafka10 --topic  nongfunginxlog


opt/kafka_2.11-0.10.0.0/bin/kafka-topics.sh    --describe   --zookeeper spark:12181,hadoop:12181/kafka10 --topic test




9.修改topic的配置项
opt/kafka_2.11-0.10.0.0/bin/kafka-topics.sh    --alter   --zookeeper spark:12181,hadoop:12181/kafka10 --topic  nongfunginxlog   --partitions 2




10.收集topic接收到的数据
/home/sznongfu/opt/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh  --zookeeper hadoop:12181,spark:12181/kafka10 --topic  __consumer_offsets  >> /tmp/test


/home/sznongfu/opt/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh  --zookeeper hadoop:12181,spark:12181/kafka10   --topic nongfunginxlog   >>/tmp/kafkaRM-7.1.dat &




/home/sznongfu/opt/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh  --zookeeper hadoop:12181,spark:12181/kafka10   --topic nongfunginxlog


猜你喜欢

转载自blog.csdn.net/dymkkj/article/details/80887546
今日推荐