Kafka鉴权文件
/opt/kafka/config/sasl.properties 存放kafka的sasl 账号密码鉴权配置
cat /opt/kafka/config/sasl.properties
security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username=\"admin\" password=\"i8qFlaDhsXw4qMR\";
创建topic
创建一个kafka的topic,分区为32个,副本数为1个。
kafka-topics.sh --command-config /opt/kafka/config/sasl.properties --bootstrap-server localhost:9092 --create --topic test --partitions 32 --replication-factor 1
查看topic列表
查看kafka里已经创建的topic列表
./kafka-topics.sh --bootstrap-server localhost:9092 --list --command-config /opt/kafka/config/sasl.properties
删除某个topic
./kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic test --command-config /opt/kafka/config/sasl.properties
增加topic的分区数
./kafka-topics.sh --bootstrap-server localhost:9092 --alter --topic test --command-config /opt/kafka/config/sasl.properties --partition 1
消费某个topic的数据
使用分组group1,从头开始消费topic名字为test的数据
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --consumer.config /opt/kafka/config/sasl.properties --topic test --from-beginning --group group1
使用分组group1,从最新的地方开始消费topic名字为test的数据
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --consumer.config /opt/kafka/config/sasl.properties --topic test --group group1 --offset latest
指定分区和偏移量进行消费
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --consumer.config /opt/kafka/config/sasl.properties --topic test --group group1 --offset 100 --partition 0
向某个topic发送数据
往test的topic输入发送数据,此时消费者的控制台就可以消费到我们发送的数据了
./kafka-console-producer.sh --broker-list localhost:9092 --topic test --producer.config /opt/kafka/config/sasl.properties
查看某个分组的消费积压情况
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --command-config /opt/kafka/config/sasl.properties --describe --group group1
通过命令可以看到这个分组每个topic的每个partition的消费情况,当前分组消费的current-offset,生产的log-end-offset,以及未消费的数据量lag。consumer-id也可以看出来客户端是有多少个线程在对这个topic进行消费。
查看topic的副本情况
查看kafka所有topic的分区个数、副本数,topic的基础配置以及partition的leader和副本数情况
./kafka-topics.sh --command-config /opt/kafka/config/sasl.properties --bootstrap-server localhost:9092 --describe
输出的leader每个partition的leader的broke-id,replicas是这个分区的副本所在的节点broke-id列表,Isr(In sync replicas)是已经同步完成的分区的副本所在的broke-id列表,这些副本可以被选举为leader。
kafka分区leader负责了该分区的所有读取和写入,每个分区都有一个leader。副本follower只是为了当leader挂掉的时候可以选举为新的leader,保持高可用。
偏移量重置
如果想让某个分组的偏移量都移动到最新值,丢弃掉还未消费的数据,可以执行该命令。
执行前需要停止这个分组的所有消费者线程。
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --command-config /opt/kafka/config/sasl.properties --group group1--topic test--execute --reset-offsets --to-latest