kafka创建topic,生产和消费指定topic消息

启动zookeeper和Kafka之后,进入kafka目录(安装/启动kafka参考前面一章:https://www.cnblogs.com/cici20166/p/9425613.html

1.创建Topic

  1)运行命令: ./bin/kafka-topics.sh --create --zookeeper zk1:2181 --replication-factor 2 --partitions 3 --topic hello

    replication-factor:副本数,包含主节点,不能大于机器数
    partitions:分区数,可以大于机器数
    同一台机器不能包含两个相同的partition:hello-1/hello-1
    但是可以有两个不同的分区:hello-2/hello-3

  图示为创建成功:

  

2.查看Topic

  1)运行命令查看所有的topic: ./bin/kafka-topics.sh --list --zookeeper zk1:2181

  结果如下图,表示共有test和test1两个topic:

  

3.用Kafka的console-producer在topic hello 生产消息

  新建终端窗口,到kafka目录,运行命令:./bin/kafka-console-producer.sh --broker-list zk1:9092 --topic hello

  然后输入想要产生的消息内容(如 hello world),回车:

4.用Kafka的console-consumer 消费topic hello的消息

  新建终端窗口,到kafka目录,

  运行命令:./bin/kafka-console-consumer.sh --bootstrap-server zk1:9092 --topic hello --from-beginning

  (9092是kafka单机启动的端口;--bootstrap-server 新旧kafka版本不一样,这个是新版本的命令)

  

  ps. 1)若producer 和 consumer 两个窗口同时打开,在producer输入信息,consumer会立即消费信息并打印在终端
{{uploading-image-892112.png(uploading...)}}
{{uploading-image-443812.png(uploading...)}}

    2)新开一个终端,去消费同一个topic,刚刚已经消费过的消息还会被新终端继续消费。也就是说,消息被消费过后不会立即被删除。(不同的groupid消费重新计算offset)          

5.kafka-manager可以看到上述操作记录产生的影响

新增了一个topic

三个kafka-broker

具体topic详情




猜你喜欢

转载自www.cnblogs.com/xiaohan970121/p/12361049.html