KafKa学习

一 安装配置

学习的是kafka3.0版本,对应的zookeeper版本是3.7.x;kafka3.0版本可以不依赖于外部搭建zookeeper,因为自带有zookeeper。

注意:如果启动过程中有报clusterId的错误的,可以将datas文件(server配置设置的保存数据的文件夹)删除,或者是将报错信息中的clusterId复制到datas目录下的meta.properties文件中,替换之前的,或者再体换会,或删除;

1.1 zookeeper安装

1.1.1 单机安装

1.1.1.1 安装包下载地址:

Apache Kafka

1.1.1.2 解压安装

tar -zxvf 安装包 -C 安装到的对应路径

1.1.1.3 配置修改

复制conf/zoo_sample.cfgconf/zoo.cfg,并根据需要编辑配置文件,例如设置dataDir和clientPort。

命令:cp zoo_sample.cfg ``zoo.cfg

然后给添加两行命令,单机简易版就不做其它修改了

复制代码
dataDir=/app/soft/zookeeper-3.4.10/data
dataLogDir=/app/soft/zookeeper-3.4.10/log
1.1.1.4 服务启动
复制代码
进入bin目录
# 启动Zookeeper服务器
bin/zkServer.sh start
 
# 检查Zookeeper状态
bin/zkServer.sh status


zkCli.sh [-server ip:port]


create /zk "123"
get /zk

1.2 kafka安装

1.2.1 单节点安装

并不需要再单独启动上面的zookeeper服务,这个kafka3.0版本本就自带zookeper;但是必须要启动一个zookeeper,启动jar包自带的,或者是上面搭建的单独的zookeeper;

1.2.1.1 安装包下载

Apache Kafka

1.2.1.2 解压安装

tar -zxvf 安装包名 -C 要解压到的路径

1.2.1.3 配置修改
复制代码
1:修改conf下zookeeper配置文件
更改日志数据存储文件


2:修改server配置文件
broker.id=1
log.dirs=/Applications/soft/kafka/kafkaZookeeper/single/datas

# 指定在zookeeper上的位置,方便管理,查询节点数据
zookeeper.connect=localhost:2181/singlZookeeperKafka
1.2.1.4 服务启动
复制代码
# 启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties

# 以后台的方式启动,若是启动失败(jps查看是否有kafka进程),可以将daemon去掉,然后查看启动日志
bin/kafka-server-start.sh -daemon config/server.properties

# 创建topic主题进行验证
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1

# 发送消息
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

# 消费消息
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

# 查询已创建的主题列表
bin/kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092

# 查询主题信息
bin/kafka-topics.sh --describe --bootstrap-server 127.0.0.1:9092 --topic topic1

1.2.2 伪集群安装(单机不同端口)

1.2.2.1 安装包下载

Apache Kafka

1.2.2.2 解压安装

创建三个kafka文件夹,将安装包解压到这三个目录下

tar -xzvf 安装包名 -C 要解压到的路径

1.2.2.3 配置修改
复制代码
分别修改这三个文件夹中的配置,都需要占用不用的端口

1:修改conf下zookeeper配置文件(zookeeper.properties)
更改日志数据存储文件及端口
dataDir=/Applications/soft/kafka/kafkaZookeeper/colony/kafka1/zookeeperDatas
# the port at which the clients will connect
clientPort=2183
(剩下的两个文件采用其他端口)


2:修改server配置文件(server.properties),broker.id必须唯一;
broker.id=1
log.dirs=/Applications/soft/kafka/kafkaZookeeper/colony/kafka1/datas

# 监听使用不同的端口
listeners=PLAINTEXT://127.0.0.1:9093


# 指定在zookeeper上的位置,方便管理,查询节点数据(集群的没加,未解决)
# 指定三台服务器各自使用的zookeeper地址
zookeeper.connect=localhost:2183,localhost:2184,localhost:2185
1.2.2.4 服务启动
复制代码
# 启动zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties

# 以后台的方式启动,若是启动失败(jps查看是否有kafka进程),可以将daemon去掉,然后查看启动日志
# 集群的就不加了,方便查询错误信息
bin/kafka-server-start.sh config/server.properties


# 查询topic信息,可以加--topic topicName;查询指定topic信息
bin/kafka-topics.sh --bootstrap-server localhost:9093,localhost:9094,localhost:9095 --describe

# 查询所有的topic列表数据
bin/kafka-topics.sh --bootstrap-server localhost:9093,localhost:9094,localhost:9095 --list

# 创建一个主题,算是验证集群是否启动成功
bin/kafka-topics.sh --bootstrap-server localhost:9093,localhost:9094,localhost:9095 --create --partitions 3 --replication-factor 3 --topic clonytopic666
相关推荐
行业探路者2 分钟前
如何利用活码生成产品画册二维码?
学习·音视频·语音识别·二维码·设备巡检
好奇龙猫15 分钟前
人工智能学习-AI-MIT公开课-第三节:推理:目标树与基于规则的专家系统-笔记
人工智能·笔记·学习
好奇龙猫17 分钟前
【AI学习-comfyUI学习-第二十节-controlnet线稿+softedge线稿处理器工作流艺术线处理器工作流-各个部分学习】
人工智能·学习
小林有点嵌30 分钟前
UML之状态图学习
网络·学习·uml
小林有点嵌36 分钟前
UML之类图学习
学习·uml
小林有点嵌39 分钟前
UML之用例图学习
学习·microsoft·uml
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [fs][fs_parser]
linux·笔记·学习
白帽子凯哥哥1 小时前
在学习SQL注入或XSS这类具体漏洞时,如何设计一个高效的“理论+实践”学习循环?
sql·学习·漏洞·xss
全栈陈序员2 小时前
v-if 和 v-for 的优先级是什么?
前端·javascript·vue.js·学习·前端框架·ecmascript
全栈陈序员2 小时前
你对 SPA 单页面应用的理解?它的优缺点分别是什么?如何实现 SPA 应用?
前端·vue.js·学习·前端框架·vue