kafka极简入门(三)--建立topic

回顾kafka极简入门(二)--安装node

topic是kafka的生产者和消费者最小交互的单位,咱们先从topic入手,建立第一个topic.bootstrap

  • 进去kafka的bin目录咱们发现有个kafka-topics.sh脚本

image.png

1.建立topic

  • 官方推荐若是kafka版本大于等于2.2使用--bootstrap-server替代--zookeeper (2.2以上也兼容--zookeeper)命令以下
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic mytest
  • 若是kafka版本小于2.2则命令以下
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mytest
参数解释
  • 1.指定kafka集群(2.2以上)或zookeeper集群
--bootstrap-server node1:9092,node2:9092,node3:9092....

segmentfault

--zookeeper node1:2181,node2:2181,node3:2181...
  • 2.指定分区数
--partitions
  • 3.指定分区的副本数
--replication-factor

因此执行上面命令将会建立一个名为mytest的topic,该topic下面有1个分区,而且该分区只有1个副本。服务器

PS:除了手动建立主题外,还能够将代理配置为在发布不存在的主题时自动建立主题测试

2.查看topic

  • 查看指定的topic
kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic mytest

image.png

Partition:0 表示该分区的id为0
leader: 9 表示分区的首领副本所在的broker(本例子中broker.id配置为9,因此这里显示9,具体在config/server.properties配置。这里只有一个分区,因此首领分区也就是本身)
Replicas: 9 表示分区的跟随副本所在的broker
Isr: 9 表示分区的同步副本所在的broker(同步副本能够认为跟首领副本准实时同步的副本,能够配置判断条件,后面会讲,首领副本挂掉后,服务器会从同步副本中选举新的首领)spa

  • 查看全部可用的topic
kafka-topics.sh --list--bootstrap-server localhost:9092

image.png

3.测试

  • 3.1 往topic发布信息
kafka-console-producer.sh --broker-list localhost:9092 --topic mytest

发送三个消息,分别是hello, world和!
image.png3d

  • 3.2 消费消息

新开一个控制台代理

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytest --from-beginning

注意: --from-beginning 表示从最开始的offset处开始消费。若是不写表示从最新的offset处消费,那么先发送了消息再开启消费者是收不到已发送的信息的
image.png
接收成功。code

kafka极简入门(四)--经常使用配置server

若是对你有用麻烦点个赞哦 ^_^

相关文章
相关标签/搜索