当前位置:   article > 正文

【框架学习(4)-- Kafka3.2.1命令及不使用Zookeeper启动】_kafka 3.2.1

kafka 3.2.1

昨天历经万难终于装好了单机的Kafka3.2.1并且使用自带的zookeeper启动了。

Kafka下,/bin目录中有许多基本命令(涉及较难的zookeeper安全等暂时不了解)
学习一下:

一、启动

1、启动自带的Zookeeper

zookeeper-server-start.sh

命令:

bin/zookeeper-server-start.sh config/zookeeper.properties &
  • 1

官网上的命令没有 & ,如果不加,按下ctrl+c这个进程就没了。
加上这个后台运行,就算ctrl+c也不会结束这个进程。

2、启动Kafka

kafka-server-start.sh
命令:

bin/kafka-server-start.sh  -daemon config/server.properties 
  • 1

使用jps命令可以看到ZookeeperKafka都成功启动了。
在这里插入图片描述

二、Topic操作

1、创建一个topic

bin/kafka-topics.sh --create --topic topic_test --bootstrap-server master:9092
  • 1

在这里插入图片描述
在这里插入图片描述
创建成功。

topic相关命令基本都是这样的格式:

  • bin/kafka-topics.sh topic命令
  • --create --topic 创建topic
  • topic_test 要创建的topic名称.
  • --bootstrap-server + broker主机名称:Kafka端口号
关于Kafka和Zookeeper端口号

这里要解释一下:

  • server.properties文件里,zookeeper.connect配置的是各个机器的IP地址及它们的zookeeper端口号
    在这里插入图片描述
  • Kafka当前broker的端口号配置:
    模板为:

advertised.listeners=PLAINTEXT://your.host.name:9092

举例:

advertised.listeners=PLAINTEXT://master:9092
  • 1

在这里插入图片描述
另外有关listeneradvertised.listeners还需要进一步了解。
可自行百度。

2、查看broker下指定的Topic信息

bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server master:9092
  • 1

执行结果:
可以看到,输出这个
在这里插入图片描述

3、写入topic

bin/kafka-console-producer.sh --topic topic_test --bootstrap-server master:9092
  • 1

执行
在这里插入图片描述
随便输入,回车就能发送。
在这里插入图片描述

4、查看topic事件

bin/kafka-console-consumer.sh --topic topic_test --from-beginning --bootstrap-server master:9092
  • 1

在这里插入图片描述
说明刚才的写入成功了。
(提示:--前面的空格千万不能少,不然就不能消费到数据了)

5、查看topic列表

bin/kafka-topics.sh --list --bootstrap-server master:9092
  • 1

6、关闭自带的Zookeeper

zookeeper-server-stop.sh

bin/zookeeper-server-stop.sh 
  • 1

7、关闭Kafka

bin/kafka-server-stop.sh
  • 1

还有消费者组之类的有时间学习之后,再补充记录吧……

三、不使用Zookeeper启动Kafka

不使用Zookeeper启动Kafka,配置文件则是放在了config/kraft文件夹下:
在这里插入图片描述

1、修改配置文件

在这里插入图片描述

node.id=0
controller.quorum.voters=0@mster:9093

另外里面还需要更改日志文件路径,我在kraft下新建了一个:
在这里插入图片描述
然后:

log.dirs=/home/software/kafka/config/kraft/kraft-logs

listeners=PLAINTEXT://master:9092,CONTROLLER://master:9093

advertised.listeners=PLAINTEXT://master:9092

其它的基本不用动。

2、格式化目录生成文件

kafka目录下执行命令:

bin/kafka-storage.sh random-uuid
  • 1

为当前节点生成唯一的一个id
在这里插入图片描述
执行格式化命令:

bin/kafka-storage.sh format -t 0wkP3X0tSfqUg0g4a08SnQ -c /home/software/kafka/config/kraft/server.properties
  • 1

上面这个命令里:

-t 后面是刚才生成的一串字符
-c 后面是kraftserver.properties的绝对路径
在这里插入图片描述在这里插入图片描述
执行完毕就能看到我指定的日志文件夹下,多了一个meta.properties
里面的内容就是我们刚才配置的和生成的。

3、启动Kafka

 bin/kafka-server-start.sh config/kraft/server.properties &
  • 1

(在不使用Zookeeper的前提下,加上&保证它后台运行)

在这里插入图片描述
启动成功,突然发现可视化工具是一定要指定zookeeper的,淦!
用命令查看却发现,提示没有数据,并没有说没有这个topic
在这里插入图片描述
用命令重新对这个topic发送消息:
在这里插入图片描述
再次查看:
在这里插入图片描述
只有这些消息?是因为启动方式改变会使数据丢失吗?
当前只有一个broker,一个消费者。

考虑到接下来要写代码,为了方便调试,在主机使用可视化工具更方便。

我还是选择配合zookeeper使用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/781272
推荐阅读
相关标签
  

闽ICP备14008679号