kafka笔记
创建“test”的topic,这个topic只有一个partition,并且备份因子也设置为1:
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test -->localhost:2181这个为zookeeper地址
查看当前kafka内有哪些topic
./kafka-topic.sh --list --zookeeper localhost:2181 ----》-->localhost:2181这个为zookeeper地址
3)删除 topic
/usr/local/kafka/bin/kafka-topics.sh --zookeeper 192.168.1.54:2181,192.168.1.55:2181,192.168.1.56:2181 --delete --topic topicA
需要 server.properties 中设置 delete.topic.enable=true 否则只是标记删除。
测试向kafka发送消息:(消息生产者)
./kafka-console-producer.sh --broker-list kafka的ip:9092 --topic test
消费消息:
方式一:从最后一条消息的偏移量+1开始消费
./kafka-console-consumer.sh --bootstrap-server kafka的ip:9092 --topic test
方式二:从头开始
./kafka-console-consumer.sh --bootstrap-server kafka的ip:9092 --from-beginning --topic test
消费组的概念:
多个消费同属于一个消费组的时候只有一个消费者能接受到消息
./kafka-console-consumer.sh --bootstrap-server kafka的ip:9092 --consumer-property group.id=testGroup --topic test
查看消费组及信息:
./kafka-consumer-groups.sh --bootstrap-server kafka地址:9092 --list
查看消费组具体信息:
./kafka-consumer-groups.sh --bootstrap-server kafka地址:9092 --describe --group 消费组名称
kafka的主题和分区(partition)的概念
当topic的消息太多甚至几t时候,因为数据存放在kafka的日志文件中,为了解决文件过大问题提出了分区的概念
可以提高读写的吞吐量