kafka伪分布式搭建
下载
下载地址(阿里云镜像),下载自己需要的版本即可,以下以3.6.1版本为例
解压
将文件上传到Linux主机中并解压
tar -zxvf kafka_2.13-3.6.1.tgz
#改名
mv kafka_2.13-3.6.1.tgz kafka
zookeeper安装
因为kafka文件里已经内置了zookeeper,直接拿来用就好了。在与kafka同目录下创建一个etc文件夹
mkdir etc
将kafka目录下config目录中的zookeeper.properties发送到新建的etc目录下
#在kafka目录下执行该命令
cp config/zookeeper.properties ../etc
kafka伪分布
将kafka目录下config目录中的server.properties发送到新建的etc目录下(需要三个)
#在kafka目录下执行该命令
cp config/server.properties ../etc/server-0.properties
cp config/server.properties ../etc/server-1.properties
cp config/server.properties ../etc/server-2.properties
分别在server-0.properties、server-1.properties、server-2.properties中修改参数
#在新建的etc目录下
vi server-0.properties
#修改以下内容
broker.id=0
listeners=PLAINTEXT://:9090
log.dirs=/tmp/kafka-logs-0
#在新建的etc目录下
vi server-1.properties
#修改以下内容
broker.id=1
listeners=PLAINTEXT://:9091
log.dirs=/tmp/kafka-logs-1
#在新建的etc目录下
vi server-2.properties
#修改以下内容
broker.id=2
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs-2
kafka集群启动
启动zookeeper
#在kafka的bin目录下运行以下代码
./zookeeper-server-start.sh ../../etc/zookeeper.properties
启动后窗户会一直在运行zookeeper进程,无法使用其它命令,需要打开新的命令提示窗口
启动3个kafka实例
打开新的命令提示窗口启动broker-0,启动后无法使用其它命令,需要打开新的命令提示窗口
#在kafka的bin目录下运行以下代码
./kafka-server-start.sh ../../etc/server-0.properties
打开新的命令提示窗口启动broker-1,启动后无法使用其它命令,需要打开新的命令提示窗口
#在kafka的bin目录下运行以下代码
./kafka-server-start.sh ../../etc/server-1.properties
打开新的命令提示窗口启动broker-2,启动后无法使用其它命令,需要打开新的命令提示窗口
#在kafka的bin目录下运行以下代码
./kafka-server-start.sh ../../etc/server-2.properties
查看
当前一共开了4个命令提示窗口(3个正在运行kafka,1个正在运行zookeeper)
使用jps查看进程信息
kafka测试
zookeeper和bootstrap.server的区别
zookeeper - 旧版Kafka的参数
bootstrap.server - 新版Kafka的参数
创建主题
如果使用zookeeper创建主题报错zookeeper is not a recognized option,可能是因为kafka版本比较新,可以尝试使用bootstrap.server创建主题
所有命令都在kafka目录下bin文件l里面执行,master:9090是主机名+端口号(之前在server-0.properties配的listeners=PLAINTEXT://:9090)
--partitions 3:用于指定topic的分区数。分区是Kafka中数据的基本单元,它允许数据并行处理和负载均衡。分区数决定了Kafka集群中可以并行处理该topic的消费者数量。通常,建议根据预期的负载和并发处理需求来设置分区数
--replication-factor 3:用于指定每个分区的副本数量。副本是为了提高数据的可靠性和容错性而创建的。当某个副本不可用时,Kafka可以从其他副本中获取数据。通常,建议将副本因子设置为大于1的值,以确保数据的可靠性。将副本因子设置为3,则每个分区将有3个副本。
#前往bin文件
kafka_2.13-3.6.1# cd bin
#创建主题
./kafka-topics.sh --create --bootstrap-server master:9090 --replication-factor 3 --partitions 3 --topic test1
查看已有主题
./kafka-topics.sh --list --bootstrap-server master:9090
查看该主题详细配置
./kafka-topics.sh --bootstrap-server master:9090 --describe --topic test1
创建生产者
./kafka-console-producer.sh --broker-list master:9091 --topic test1
创建消费者
./kafka-console-consumer.sh --bootstrap-server master:9092 --topic test1
删除主题
Kafka的topic在关机重启后是持久化存储的,因此它们会保留在磁盘上,并且在Kafka Broker重新启动后仍然可用。
删除主题必须在kafka/config/server.properties中已添加:delete.topic.enable=true
./kafka-topics.sh --delete --topic test1 --bootstrap-server master:9090
测试
生产者发送消息给消费者
标签:
分布式
本文转载自: https://blog.csdn.net/qq_65960840/article/details/135197308
版权归原作者 LiyC; 所有, 如有侵权,请联系我们删除。
版权归原作者 LiyC; 所有, 如有侵权,请联系我们删除。