五金喷漆东莞网站建设,购买域名和网站,做网站可以赚钱吗?,企业网站建设协议提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言消息中间件介绍1. KRaft模式2. zookeeper模式2.1. 单节点部署安装验证 前言
最近生产环境上准备部署ELFK日志监控#xff0c;先在测试环境部署单节点kafka验证… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言消息中间件介绍1. KRaft模式2. zookeeper模式2.1. 单节点部署安装验证 前言
最近生产环境上准备部署ELFK日志监控先在测试环境部署单节点kafka验证调通相关配置特此记录kafka部署流程后续再补充kafka高可用方案
消息中间件介绍
Apache Kafka是一个发布 - 订阅开源消息代理应用程序。这个消息传递应用程序是用“scala”编码的。基本上这个项目是由Apache软件启动的。Kafka的设计模式主要基于事务日志设计。
1. KRaft模式
后续补充 KRaft 模式相比 ZooKeeper 模式的主要优势如下: 运维简化只需部署 Kafka不再依赖 ZooKeeper。 横向扩展能力提升Kafka 集群能支持的 Partition 数量是衡量其横向扩展能力的重要指标。此前这个值受 ZooKeeper 与 Controller 之间传递元数据的限制只能到十万量级而 KRaft 模式不需要这种传递 因此可以提升到百万量级。 元数据传播提效元数据通过 Kafka 的 Topic 管理并利用 Topic 的生产消费传播集成性更好的同时也提升了一些底层实现的性能。
2. zookeeper模式
本文采用模式 经典模式
2.1. 单节点部署
安装 docker-compose.yml cat docker-compose.yml
------------------------------- docker-compode.yml ----------------------------------------
version: 3
services:kfk:container_name: kfkimage: bitnami/kafka:3.9.0environment:- ALLOW_PLAINTEXT_LISTENERyes- KAFKA_CFG_ZOOKEEPER_CONNECTzk-server:2181ports:- 19092:9092- 19093:9093volumes:- ./config/server.properties:/opt/bitnami/kafka/config/server.propertiesnetworks:- zk-kfkrestart: unless-stoppedzk-server:container_name: zk-serverimage: zookeeper:3.8.4environment:- ALLOW_ANONYMOUS_LOGINyesrestart: alwaysnetworks:- zk-kfknetworks:zk-kfk:driver: bridge
------------------------------- docker-compode.yml END ---------------------------------------- server.properties vim server.properties
------------------------------- server.properties ----------------------------------------
num.network.threads3
num.io.threads8
socket.send.buffer.bytes102400
socket.receive.buffer.bytes102400
socket.request.max.bytes104857600
log.dirs/bitnami/kafka/data
num.partitions1
num.recovery.threads.per.data.dir1
offsets.topic.replication.factor1
transaction.state.log.replication.factor1
transaction.state.log.min.isr1# kafka日志保留时间168小时
log.retention.hours168
# kafka清理日志间隔30000ms5分钟检查一次日志文件清理超过时间的日志
log.retention.check.interval.ms300000# zookeeper连接配置
zookeeper.connectzk-server:2181sasl.enabled.mechanismsPLAIN,SCRAM-SHA-256,SCRAM-SHA-512
------------------------------- server.properties END ----------------------------------------验证 docker ps 测试功能 # 创建名称为demo的topic,副本1 分区1
docker run -it --rm --network kfk_zk-kfk -e KAFKA_CFG_ZOOKEEPER_CONNECTzk-server:2181 bitnami/kafka:3.9.0 kafka-topics.sh --bootstrap-server kfk:9092 --create --partitions 1 --replication-factor 1 --topic demo# 查看所有topic信息
docker run -it --rm --network kfk_zk-kfk -e KAFKA_CFG_ZOOKEEPER_CONNECTzk-server:2181 bitnami/kafka:3.9.0 kafka-topics.sh --bootstrap-server kfk:9092 --list# 执行命令
rootyuan-server:~# docker run -it --rm --network kfk_zk-kfk -e KAFKA_CFG_ZOOKEEPER_CONNECTzk-server:2181 bitnami/kafka:3.9.0 kafka-topics.sh --bootstrap-server kfk:9092 --list# 生产消息
# bin/kafka-console-producer.sh --bootstrap-server kafka-server:9092 --topic demodocker run -it --rm --network kfk_zk-kfk -e KAFKA_CFG_ZOOKEEPER_CONNECTzk-server:2181 bitnami/kafka:3.9.0 kafka-console-producer.sh --bootstrap-server kfk:9092 --topic demo# 消费者
# 1.消费最新消息,打开后监听并消费生产者最新生产的消息
# bin/kafka-console-consumer.sh --bootstrap-server kafka-server:9092 --topic demo
docker run -it --rm --network kfk_zk-kfk -e KAFKA_CFG_ZOOKEEPER_CONNECTzk-server:2181 bitnami/kafka:3.9.0 kafka-console-consumer.sh --bootstrap-server kfk:9092 --topic demo# 2.设置--from-beginning参数表示从头开始消费消息表示所有历史消息都能看到
docker run -it --rm --network zk-kafka -e KAFKA_CFG_ZOOKEEPER_CONNECTzk-server:2181 bitnami/kafka:3.4.0 kafka-console-consumer.sh --bootstrap-server kafka-server:9092 --topic demo --from-beginning