Kafka 集群部署与 ELFK 日志集成指南
ELFK kafka 架构部署内存紧张修改sever1、serever2、server3配置[rootserver1 ~]# cd /etc/elasticsearch/[rootserver1 elasticsearch]# vim elasticsearch.ymlbootstrap.memory_lock: false[rootserver1 elasticsearch]# vim jvm.options-Xms512m-Xmx512m[rootserver1 elasticsearch]# systemctl restart elasticsearchserver2、server3做同样配置集群部署再开启三台虚拟机server6、server7、server8基础配置互相解析三台主机安装 JDK 环境浏览器下载jdk-17.0.17_linux-x64_bin.rpm[rootserver6 ~]# rpm -ivh jdk-17.0.17_linux-x64_bin.rpm[rootserver6 ~]# java -version三台主机安装 Kafka浏览器下载kafka_2.12-3.9.1.tgzhttps://kafka.apache.org/downloads[rootserver6 ~]# tar zxf kafka_2.12-3.9.1.tgz -C /opt[rootserver6 ~]# mv /opt/kafka_2.12-3.9.1 /opt/kafka[rootserver6 ~]# cd /opt/kafka/config/kraft[rootserver6 kraft]# cp server.properties{,.bak}备份配置文件[rootserver6 kraft]# mkdir /opt/kafka/logs 创建日志目录三台主机 Kafka 配置文件修改[rootserver6 kraft]# vim server.propertiesprocess.rolesbroker,controllernode.id176controller.quorum.voters176192.168.164.176:9093,177192.168.164.177:9093,178192.168.164.178:9093listenersPLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093inter.broker.listener.namePLAINTEXTadvertised.listenersPLAINTEXT://192.168.164.176:9092,CONTROLLER://192.168.164.176:9093controller.listener.namesCONTROLLERlistener.security.protocol.mapCONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSLnum.network.threads2num.io.threads2socket.send.buffer.bytes102400socket.receive.buffer.bytes102400socket.request.max.bytes104857600log.dirs/opt/kafka/logsnum.partitions3num.recovery.threads.per.data.dir1offsets.topic.replication.factor3transaction.state.log.replication.factor3transaction.state.log.min.isr1log.retention.hours168log.segment.bytes1073741824log.retention.check.interval.ms300000注意server2、server3配置区别在于node.id、advertised.listenersKafka 集群初始化server6 节点生成储目录唯一的 UUID[rootserver6 kraft]# KAFKA_CLUSTER_ID$(/opt/kafka/bin/kafka-storage.sh random-uuid)[rootserver6 kraft]# echo ${KAFKA_CLUSTER_ID}K9eaFC2PSDSKruBsoJ-oTw三台主机用该 uuid 格式化 kafka 存储目录注意uuid[rootserver6 kraft]# /opt/kafka/bin/kafka-storage.sh format -t K9eaFC2PSDSKruBsoJ-oTw -c /opt/kafka/config/kraft/server.properties[rootserver7 kraft]# /opt/kafka/bin/kafka-storage.sh format -t K9eaFC2PSDSKruBsoJ-oTw -c /opt/kafka/config/kraft/server.properties[rootserver8 kraft]# /opt/kafka/bin/kafka-storage.sh format -t K9eaFC2PSDSKruBsoJ-oTw -c /opt/kafka/config/kraft/server.properties三台节点启动 Kafkaserver6上[rootserver6 kraft]# /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties[rootserver6 kraft]# jps4261 Kafka4332 Jpsserver7上[rootserver7 kraft]# /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties[rootserver7 kraft]# jps6039 Kafka6109 Jpsserver8上[rootserver8 kraft]# /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties[rootserver8 kraft]# jps3667 Kafka3688 JpsKafka 集群可用性验证Kafka 集群任意节点创建 Topic[rootserver6 kraft]# /opt/kafka/bin/kafka-topics.sh --create --topic testtopics --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3Created topic testtopics.--replication-factor 3设置主题的副本因子为 3即每个分区的副本数量为 3。副本用于数据冗余和高可用性副本数需不能超过集群中 Broker 的总数。--partitions 3设置主题的分区数为 3。分区是 Kafka 并行处理消息的基本单位影响吞吐量和扩展性。分区数一旦创建不可减少。Kafka 集群任意节点查看 Topic[rootserver7 kraft]# /opt/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092testtopicsKafka 集群任意节点生产者测试[rootserver8 kraft]# /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopics111222333Kafka 集群任意节点查看主题[rootserver7 kraft]# /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopics --from-beginning111222333Processed a total of 3 messagesKafka 集群任意节点查看 topic 详细信息[rootserver6 kraft]# /opt/kafka/bin/kafka-topics.sh --bootstrap-server server7:9092,server8:9092,server9:9092 --topic testtopics --describeFIlebeat 配置文件修改server4上[rootserver4 ~]# vim /etc/filebeat/filebeat.yml 注释掉logstash部分#----------------------------- Kafka output --------------------------------output.kafka:hosts: [192.168.164.176:9092, 192.168.164.177:9092, 192.168.164.178:9092]topic: apache-logspartition.round_robin:reachable_only: truerequired_acks: 1compression: gzip[rootserver4 ~]# filebeat test config -c /etc/filebeat/filebeat.ymlConfig OK[rootserver4 ~]# filebeat test output -c /etc/filebeat/filebeat.yml[rootserver4 ~]# systemctl restart filebeat.serviceKafka 集群任意节点消费者测试[rootserver6 ~]# /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic apache-logs --from-beginningLogstash 消费 Topic 消息[rootserver4 modules.d]# cd[rootserver5 conf.d]# cd /etc/logstash/conf.d[rootserver5 conf.d]# vim kafka.confinput {kafka {bootstrap_servers 192.168.164.176:9092,192.168.164.177:9092,192.168.164.178:9092topics [apache-logs]group_id logstash-consumer-groupconsumer_threads 3auto_offset_reset earliestcodec json}}filter {grok {match { message %{HTTPD_COMBINEDLOG} }}}output {#stdout {}elasticsearch {hosts [192.168.164.171:9200,192.168.164.172:9200,192.168.164.173:9200]index apachelog-%{YYYY.MM.dd}user elasticpassword westos}}[rootserver5 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/kafka.conf

相关新闻

千问    LeetCode 3915. 距离至少为 K 的交替子序列的最大和 Python3实现

千问 LeetCode 3915. 距离至少为 K 的交替子序列的最大和 Python3实现

这道题是 LeetCode 3915「距离至少为 K 的交替子序列的最大和」,核心思路是 DP 值域离散化 树状数组(Fenwick Tree)优化,将复杂度从 O(n) 降到 O(n log n)。题目理解给定数组 nums 和整数 k,选一个下标严格递增的子序…

2026/10/25 21:36:39 阅读更多 →
千问    LeetCode 3915. 距离至少为 K 的交替子序列的最大和 Rust实现

千问 LeetCode 3915. 距离至少为 K 的交替子序列的最大和 Rust实现

这道题是 LeetCode 3915「距离至少为 K 的交替子序列的最大和」,核心思路是 DP 值域离散化 树状数组(Fenwick Tree)优化,将复杂度从 O(n) 降到 O(n log n)。题目理解给定数组 nums 和整数 k,选一个下标严格递增的子序…

2026/10/22 2:38:12 阅读更多 →
千问    LeetCode 3915. 距离至少为 K 的交替子序列的最大和 TypeScript实现

千问 LeetCode 3915. 距离至少为 K 的交替子序列的最大和 TypeScript实现

这道题是 LeetCode 3915「距离至少为 K 的交替子序列的最大和」,核心思路是 DP 值域离散化 树状数组(Fenwick Tree)优化,将复杂度从 O(n) 降到 O(n log n)。题目理解给定数组 nums 和整数 k,选一个下标严格递增的子序…

2026/10/24 0:12:44 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/25 11:19:54 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/25 10:02:42 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 10:02:43 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →