kafka集群搭建
Posted 志飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka集群搭建相关的知识,希望对你有一定的参考价值。
kafka消息队列中的扛把子,消息队列干嘛用的?主要是用来系统间解耦,提高性能。
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集群搭建的主要内容,如果未能解决你的问题,请参考以下文章