kafka集群搭建

Posted 志飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka集群搭建相关的知识,希望对你有一定的参考价值。

kafka消息队列中的扛把子,消息队列干嘛用的?主要是用来系统间解耦,提高性能。

Kafka官网

Apache Kafka

下载地址 https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz

Kafka架构

 主要有kafka broker本身用来存消息,生产者producer发送消息,消费者consumer消费消息,zookeeper管理配置文件.

集群搭建

1.下载软件

在 /usr/local目录下

mkdir kafka

wget https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz

将安装包下载到该目录

解压该安装包

tar -zxvf  kafka_2.13-3.2.0.tgz

复制3份安装包(我这里就在一台机器实验,搭建伪集群了)

cp -r kafka_2.13-3.2.0  kafka_01

cp -r kafka_2.13-3.2.0  kafka_02

cp -r kafka_2.13-3.2.0  kafka_03

2.修改配置文件

kafka_01 server.properties 需要改的地方

broker.id=1

delete.topic.enable=true

log.dirs=/usr/local/kafka/kafka_01/logs

listeners=PLAINTEXT://10.118.118.18:9092

#如果zookeeper是集群的,用,分割 比如192.168.0.1:2181,192.168.0.2:2181

zookeeper.connect=10.118.188.18:2181

kafka_02 server.properties 需要改的地方

broker.id=2

delete.topic.enable=true

log.dirs=/usr/local/kafka/kafka_01/logs

listeners=PLAINTEXT://10.118.118.18:9093

#如果zookeeper是集群的,用,分割 比如192.168.0.1:2181,192.168.0.2:2181

zookeeper.connect=10.118.188.18:2181

kafka_03 server.properties 需要改的地方

broker.id=3

delete.topic.enable=true

log.dirs=/usr/local/kafka/kafka_01/logs

listeners=PLAINTEXT://10.118.118.18:9094

#如果zookeeper是集群的,用,分割 比如192.168.0.1:2181,192.168.0.2:2181

zookeeper.connect=10.118.188.18:2181

#依次启动kafka,最好写个shell脚本批量打开和关闭

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

-daemon表示后台运行,不加就会运行在前台,ctrl+c就会关闭当前kafka进程了

使用jps命令可以查看当前运行的进程,或者 ps -ef|grep 'kafka'

3.消息主题创建,消息生产与消费

创建主题 test_topic

cd /opt/module/kafka

./bin/kafka-topics.sh --create --bootstrap-server 10.118.188.18:9092 --replication-factor 3 --partitions 1 --topic test_topic

查看主题列表

./bin/kafka-topics.sh --list --bootstrap-server 10.118.188.18:9092

启动控制台生产者

./bin/kafka-console-producer.sh --broker-list 10.118.188.181:9092 --topic test_topic

启动控制台消费者

./bin/kafka-console-consumer.sh --bootstrap-server 10.118.188.18:9092 --topic test_topic --from-beginning

在生产者控制台输入hello,world,消费者控制台,就可以消费到生产者的消息,输出 hello,world,表示消费端成功消费了生产者生产的消息!

以上是关于kafka集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

Kafka Kafka集群搭建

kafka集群搭建和zk集群搭建

Docker搭建Kafka测试集群

从零开始搭建Kafka集群遇到的问题

Docker搭建kafka集群

Kafka + Zookeeper集群搭建