0


kafka伪分布式搭建与命令测试

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进程,无法使用其它命令,需要打开新的命令提示窗口

启动3kafka实例

    打开新的命令提示窗口启动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; 所有, 如有侵权,请联系我们删除。

“kafka伪分布式搭建与命令测试”的评论:

还没有评论