当前位置: 首页 > news >正文

kafka3.8集群搭建

kafka集群需要三台机器搭建,并使用内置zookeeper

IP
10.0.0.1
10.0.0.2
10.0.0.3

安装jdk

# ubuntu
sudo apt install -y openjdk-8-jdk-headless
# centos
sudo yum install -y java-1.8.0-openjdk

下载kafka

wget  https://archive.apache.org/dist/kafka/3.8.1/kafka_2.13-3.8.1.tgz 
# 创建目录
mkdir /data/kafka/logs -p
mkdir /data/kafka/zookeeper_data -p
tar -xvf  kafka_2.13-3.8.1.tgz -C /data/kafka

修改zookeeper配置文件
vim /data/kafka/kafka_2.13-3.8.1/config/zookeeper.properties

zookeeper myid 集群内不能重复的,每台机器设置成不一样的。

echo 1 > /data/zookeeper/myid

dataDir=/data/kafka/zookeeper
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0
# Disable the adminserver by default to avoid port conflicts.
# Set the port to something non-conflicting if choosing to enable this
admin.enableServer=false
# admin.serverPort=8080tickTime=2000
initLimit=5
syncLimit=2
server.1=10.0.0.1:2888:3888
server.2=10.0.0.2:2888:3888
server.3=10.0.0.3:2888:3888

修改kafka配置文件
vim /data/kafka/kafka_2.13-3.8.1/config/server.properties

broker.id 每个节点需要不一样

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/kafka/logs
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=24
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=10.0.0.1:2181,10.0.0.2:2181,10.0.0.3:2181zookeeper.connection.timeout.ms=60000
group.initial.rebalance.delay.ms=0
auto.create.topics.enable = true

分别启动zookeeper和kafka

/data/kafka/kafka_2.13-3.8.1/bin/zookeeper-server-start.sh -daemon /data/kafka/kafka_2.13-3.8.1/config/zookeeper.properties && /data/kafka/kafka_2.13-3.8.1/bin/kafka-server-start.sh -daemon /data/kafka/kafka_2.13-3.8.1/config/server.properties

也可以通过配置service启动

先启动zookeeper在启动kafka

vim /etc/systemd/system/zookeeper.service

[Unit]
Description=Zookeeper service
After=network.target[Service]
Type=simple
User=root
Group=root
ExecStart=/data/kafka/kafka_2.13-3.8.1/bin/zookeeper-server-start.sh /data/kafka/kafka_2.13-3.8.1/config/zookeeper.properties
ExecStop=/data/kafka/kafka_2.13-3.8.1/bin/zookeeper-server-stop.sh
Restart=on-failure[Install]
WantedBy=multi-user.target
vim /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka server (broker)
After=network.target zookeeper.service[Service]
Type=simple
User=root
Group=root
ExecStart=/data/kafka/kafka_2.13-3.8.1/bin/kafka-server-start.sh /data/kafka/kafka_2.13-3.8.1/config/server.properties
ExecStop=/data/kafka/kafka_2.13-3.8.1/bin/kafka-server-stop.sh
Restart=on-failure[Install]
WantedBy=multi-user.target

测试kafka

cd /data/kafka/kafka_2.13-3.8.1# 创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testtopic# 查看topic list
bin/kafka-topics.sh --zookeeper localhost:2181 --list# 控制台生产消息
bin/kafka-console-producer.sh --bootstrap-server 10.0.0.2:9092 --topic testtopic# 控制台消费消息
bin/kafka-console-consumer.sh --bootstrap-server 10.0.0.3:9092 --topic testtopic --from-beginning

文章转载自:

http://qITQ6CMY.wjyyg.cn
http://Zl2ODtJT.wjyyg.cn
http://HrQnlzuF.wjyyg.cn
http://x1rCwNO7.wjyyg.cn
http://6jhRU62k.wjyyg.cn
http://lilOLi83.wjyyg.cn
http://1JSg2Qi1.wjyyg.cn
http://whLCKC3X.wjyyg.cn
http://RFCWlqwV.wjyyg.cn
http://1jzFwdfy.wjyyg.cn
http://JUrWRFdF.wjyyg.cn
http://LoJsa1Fy.wjyyg.cn
http://Lg5CQG1v.wjyyg.cn
http://3TDxY0SR.wjyyg.cn
http://7iOR38WE.wjyyg.cn
http://MqwbeEEU.wjyyg.cn
http://ZJ931ug5.wjyyg.cn
http://gS2TA3r3.wjyyg.cn
http://lSRXJemb.wjyyg.cn
http://3q1A4dTf.wjyyg.cn
http://NAZ7UX7C.wjyyg.cn
http://ybWfHuFI.wjyyg.cn
http://HfTDoIRg.wjyyg.cn
http://Q9JO5O0c.wjyyg.cn
http://oRA31vvq.wjyyg.cn
http://oowFfg63.wjyyg.cn
http://1SzBJNaf.wjyyg.cn
http://cJ4wH2gI.wjyyg.cn
http://u8bGvyob.wjyyg.cn
http://xz4AySq9.wjyyg.cn
http://www.dtcms.com/a/376634.html

相关文章:

  • 基于 Python + redis + flask 的在线聊天室
  • 35.神经网络:从感知机到多层网络
  • 单元测试-junit5的spy部分mock
  • 新能源汽车车载传感器数据处理系统设计(论文+源码)
  • 基于安全抽象模型(SAM)的汽车网络安全防御与攻击分析
  • 【qt】通过TCP传输json,json里包含图像
  • 力扣每日一刷Day 20
  • 线程池队列与活跃度报警检测器实现详解
  • 【硬件-笔试面试题-80】硬件/电子工程师,笔试面试题(知识点:MOS管与三极管的区别)
  • A股大盘数据-20250910分析
  • 大数据毕业设计-基于大数据的健康饮食推荐数据分析与可视化系统(高分计算机毕业设计选题·定制开发·真正大数据)
  • 墨水屏程序
  • 小米自带浏览器提示“已停止访问该网页”的解决办法以及一些优化
  • 零代码入侵:Kubernetes 部署时自动注入 kube-system UID 到 .NET 9 环境变量
  • Python核心技术开发指南(049)——文件操作综合应用
  • 机器学习项目中正确进行超参数优化:Optuna库的使用
  • QueryWrapper 全面解析:从原理到实战
  • 2025时序数据库选型:深入解析IoTDB从主从架构基因到AI赋能的创新之路
  • 云手机可以用来托管游戏吗?
  • 每日算法之:给定一个有序数组arr,代表坐落在X轴上的点,给定一个正数K,代表绳子的长度,返回绳子最多压中几个点? 即使绳子边缘处盖住点也算盖住
  • 如何利用AI工具更好地服务人:从效率到温度的平衡
  • ADC模数转换器详解(基于STM32)
  • 深入理解网络浏览器运行原理
  • 线扫相机不出图原因总结
  • 【Linux系统】日志与策略模式
  • 物联网时序数据库IoTDB是什么?
  • Rust:系统编程的革新者
  • 【postMan / apifox 文件上传】
  • 使用 javax.net.ssl.HttpsURLConnection 发送 HTTP 请求_以及为了JWT通信选用OSS的Jar的【坑】
  • 9.10 Swiper-layer-laydate