kafka 名称介绍
-
Topic:一类消息,消息存放的目录即主题,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发。
-
Partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列
1.常用相关指令
2.创建topic
使用本地kafka 默认端口为 9092, 创建主题名称为first ,分区数为1 ,备份数为1 的topic
bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic first --create --partitions 1 --replication-factor 1
返回结果
Created topic first.
3.查看topic 详情
查看topic 名称为 first 的详情信息
bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe first
Leader 为副本领导的机器id Replicas 副本存储的机器id
Topic: first TopicId: c2u3XyIbS1-l6Q0R7J3d8Q PartitionCount: 1 ReplicationFactor: 1 Configs:
Topic: first Partition: 0 Leader: 0 Replicas: 0 Isr: 0
4.修改topic
修改名称为first 的topic的分数为2
注意 partitions 分区 只能增加不能减少,切副本数量不能改变
bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic first --alter --partitions 2
查看 first 详情
Topic: first TopicId: c2u3XyIbS1-l6Q0R7J3d8Q PartitionCount: 2 ReplicationFactor: 1 Configs:
Topic: first Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: first Partition: 1 Leader: 0 Replicas: 0 Isr: 0
5.删除topic
删除名称为first 的topic
bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic first --delete
向 名为first的topic 推送数据 hello
sh kafka-console-producer.sh --bootstrap-server localhost:9092 --topic first
>hello
使用消费者接收 first中的数据
sh kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first
hello