发布时间:2026/8/17 18:40:33
云计算运维学习day19——ELFK+kafka架构 目录一.ES数据备份与恢复1.1简单介绍1.2实现数据备份1.2.1配置快照仓库——nfs1.2.2配置ES集群节点1.2.3创建API仓库1.2.4创建快照1.2.5恢复快照1.2.6删除快照1.2.7ES集群管理界面管理快照二.ES集群监控2.1简单介绍2.2启用xpack认证2.2.2修改elasticsearch.yml文件并重启服务2.2.3将生成的证书远程传输给另外两台主机2.2.4完成server2和server3上的配置2.2.5为EFLK中的各个组件设置密码2.2.6访问Cerebro2.2.7访问Logstash2.2.8访问Kibana2.3实现metricbeat监控2.3.1简单介绍2.3.2进入KIbana的内部监测开启Metricbeat2.3.3三台主机安装metricbeat软件包并启动模块2.3.4三台主机编辑elasticsearch-xpack.yml文件2.3.5三台主机修改metricbeat.yml文件2.3.6三台主机重新进入Kibana查看是否配置成功2.4kibana 监控2.4.1三台主机安装filebeat软件包并启动elasticsearch模块2.4.2三台主机编辑elasticsearch.yml文件2.4.3三台主机编辑filebeat.yml文件2.4.4查看日志能否监测到三.ELFKkafka架构3.1简单介绍3.2部署ELFKkafka架构3.2.1准备工作3.2.2三台主机安装 JDK 环境3.3.3三台主机安装 Kafka3.3.4三台主机 Kafka 配置文件修改3.3.5Kafka 集群初始化3.3.6Kafka 集群可用性验证3.3修改FIlebeat 配置文件3.3.1修改filebeat.yml文件3.3.2Kafka 集群任意节点消费者测试3.4Logstash 消费 Topic 消息一.ES数据备份与恢复1.1简单介绍1.说明ES 数据备份与恢复基于“快照 仓库”机制通过将索引数据以增量方式备份到本地文件系统或云存储中实现灾难恢复、数据迁移和历史归档能力。通过 快照Snapshot 和 恢复Restore 机制实现数据备份依赖于共享存储仓库如本地文件系统、S3、HDFS 等1.2实现数据备份说明在server4上配置快照仓库接着在ES集群中每个主机上安装配置nfs指明快照的存储路径最后在ES集群管理界面上交互生成快照和恢复快照或者进入kibana生成快照和恢复快照1.2.1配置快照仓库——nfs说明NFS网络文件系统是一种分布式文件系统协议它允许你在网络上像访问本地文件一样访问远程服务器上的文件和目录。1.安装nfs软件yum install -y nfs-utils2.创建一个目录用于存储拍摄下的ES集群快照mkdir -p /data/es-backup chmod 777 /data/es-backup3.编辑/etc/exports文件并启动nfs服务vim /etc/exports systemctl enable --now nfs1.2.2配置ES集群节点1.安装nfs软件包yum install -y nfs-utils2.创建一个与server4路径相同的路径用于保存同时将Es集群的主机远程挂载到nfs的server端mkdir -p /data/es-backup mount 192.168.7.164:/data/es-backup #远程挂载3.修改estaicsearch.yml文件将快照保存到远程server4的目录下vim /etc/elasticsearch/elasticsearch.yml systemctl restart elasticsearch1.2.3创建API仓库1.进入Kibana控制台输入以下指令创建仓库PUT /_snapshot/my_backup # 仓库名称自定义 { type: fs, # 本地文件系统类型 settings: { location: /data/es-backup, # 与elasticsearch.yml中配置一致 compress: true # 启用压缩可选 } }2.验证仓库是否创建成功GET /_snapshot/my_backup1.2.4创建快照1.定义快照名称PUT /_snapshot/my_backup/snapshot_all_2026.08.11 # 快照名称自定义建议含时间2.备份指定索引PUT /_snapshot/my_backup/snapshot_syslog_2026.08.11 { indices: syslog-*, # 逗号分隔的索引名或通配符 ignore_unavailable: true, # 忽略不存在的索引 include_global_state: false # 是否备份集群全局状态如模板、别名等 }3.列出仓库中所有快照GET /_snapshot/my_backup/_all4.查看单个快照的详细情况GET /_snapshot/my_backup/snapshot_syslog_2026.08.111.2.5恢复快照1.将快照中的所有索引恢复到集群若索引已存在默认不覆盖需指定rename_pattern重命名POST /_snapshot/my_backup/snapshot_syslog_2026.08.11/_restore2.仅恢复快照中的部分索引并可重命名避免冲突POST /_snapshot/my_backup/snapshot_all_20251026/_restore { indices: syslog-2026.08.11, # 仅恢复syslog-2025.10.26索引 rename_pattern: syslog-(\\d), # 匹配原索引名的正则 rename_replacement: restored_syslog-$1, # 重命名 include_global_state: false # 不恢复集群全局状态 }1.2.6删除快照DELETE /_snapshot/my_backup/snapshot_all_2026.08.111.2.7ES集群管理界面管理快照二.ES集群监控2.1简单介绍1.简单说明ES集群监控是通过实时采集集群健康状态、性能指标如查询延迟、索引速率和资源水位CPU、内存、磁盘确保集群稳定运行并提前发现故障隐患的一套可观测性体系。2.2启用xpack认证2.2.1在server1上生成证书cd /usr/share/elasticsearch/ bin/elasticsearch-certutil ca bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 cp elastic-certificates.p12 /etc/elasticsearch cd /etc/elasticsearch/ chown elasticsearch elastic-certificates.p122.2.2修改elasticsearch.yml文件并重启服务vim /etc/elasticsearch/elasticsearch.yml systemctl restart elasticsearch2.2.3将生成的证书远程传输给另外两台主机scp /etc/elassticsearch/elastic-certificates.p12 server2:/etc/elasticsearch/ scp /etc/elassticsearch/elastic-certificates.p12 server3:/etc/elasticsearch/2.2.4完成server2和server3上的配置chown elasticsearch /etc/elasticsearch/elastic-certificates.p12 vim /etc/elasticsearch/elasticsearch.yml systemctl restart elasticsearch.service2.2.5为EFLK中的各个组件设置密码说明这里只需要ES集群中的一台主机设置即可他会自动同步到其他节点上cd /usr/share/elasticsearch/ bin/elasticsearch-setup-passwords interactive2.2.6访问Cerebro说明设置了E在访问EFLK中的任意一个组件时需要在url中输入用户和密码cd elasticsearch-head-master/ npm run start docker start cerebro #启动cerebro2.2.7访问Logstashvim /etc/logstash/conf.d/grok.conf /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/grok.conf2.2.8访问Kibanavim /etc/kibana/kibana.yml systemctl restart kibana.service netstat -antlp|grep :56012.3实现metricbeat监控2.3.1简单介绍1.说明Metricbeat是一个轻量型的指标采集器通过启用其Elasticsearch模块可以主动从ES集群拉取节点、分片、索引等各项指标数据并将其输送至Elasticsearch或Kibana中进行存储和可视化展示2.3.2进入KIbana的内部监测开启Metricbeat注意ES集群中的所有主机都要完成下列操作2.3.3三台主机安装metricbeat软件包并启动模块说明elasticsearch-xpack模块用于开启Metricbeat对Elasticsearch集群的性能指标采集并支持基于X-Pack的安全认证与加密连接。rpm -ivh metricbeat-7.6.1-x86_64.rpm cd /etc/metricbeat/modules.d metricbeat modules enable elasticsearch-xpack2.3.4三台主机编辑elasticsearch-xpack.yml文件vim elasticsearch-xpack.yml2.3.5三台主机修改metricbeat.yml文件cd /etc/metricbeat vim metricbeat.yml systemctl enable --now metricbeat.service2.3.6三台主机重新进入Kibana查看是否配置成功注意ES集群中的所有机子都完成操作后查看2.4kibana 监控1.说明ES集群中的所有机子都要实现下列步骤2.4.1三台主机安装filebeat软件包并启动elasticsearch模块rpm -ivh filebeat-7.6.1-x86_64.rpm cd /etc/filebeat/modules.d filebeat modules enable elasticsearch2.4.2三台主机编辑elasticsearch.yml文件vim /etc/filebeat/modules.d/elasticsearch.yml2.4.3三台主机编辑filebeat.yml文件vim /etc/filebeat/modules.d/filebeat.yml systemctl enable --now filebeat2.4.4查看日志能否监测到三.ELFKkafka架构3.1简单介绍1.说明ELFKKafka架构是通过引入Kafka消息队列作为缓冲层将日志采集Filebeat与处理Logstash解耦实现高并发场景下的流量削峰填谷保障日志管道不丢失、不阻塞。2.KafkaKafka是一个分布式、高吞吐量的消息队列系统用于在系统之间可靠地传递数据流起到缓冲和解耦的作用。3.2部署ELFKkafka架构3.2.1准备工作1.准备8台CentOS 7虚拟机主机名IP地址角色server1192.168.7.171elasticsearch,filebeatserver2192.168.7.172elasticsearch,filebeatserver3192.168.7.173elasticsearch,filebeatserver4192.168.7.174cerebroserver5192.168.7.175Logstash,Kabanaserver6192.168.7.176Kafkaserver7192.168.7.177Kafkaserver8192.168.7.178Kafka2.完成各个主机上的域名解析3.2.2三台主机安装 JDK 环境rpm -ivh jdk-17.0.17_linux-x64_bin.rpm java -version3.3.3三台主机安装 Kafka官方安装包链接https://kafka.apache.org/community/downloads/https://kafka.apache.org/downloadstar zxf kafka_2.12-3.9.1.tgz -C /opt mv /opt/kafka_2.12-3.9.1 /opt/kafka #重命名 cd /opt/kafka/config/kraft cp server.properties{,.bak} # 备份配置文件 mkdir /opt/kafka/logs # 创建日志目录3.3.4三台主机 Kafka 配置文件修改vim /opt/kraft/server.properties scp /opt/kraft/server.properties server7:/opt/kraft/server.properties scp /opt/kraft/server.properties server8:/opt/kraft/server.properties3.3.5Kafka 集群初始化1.在server6 节点生成储目录唯一的 UUIDKAFKA_CLUSTER_ID$(/opt/kafka/bin/kafka-storage.sh random-uuid) echo ${KAFKA_CLUSTER_ID}2.三台主机用该 uuid 格式化 kafka 存储目录/opt/kafka/bin/kafka-storage.sh format -t 你的UUID -c /opt/kafka/config/kraft/server.properties3.三台节点启动 Kafka/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties jps3.3.6Kafka 集群可用性验证1.Kafka 集群任意节点创建 Topic/opt/kafka/bin/kafka-topics.sh --create --topic testtopics --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3--replication-factor 3设置主题的副本因子为 3即每个分区的副本数量为 3。副本用于数据冗余和高可用性副本数需不能超过集群中 Broker 的总数。--partitions 3设置主题的分区数为 3。分区是 Kafka 并行处理消息的基本单位影响吞吐量和扩展性。分区数一旦创建不可减少。2.选择Kafka 集群的其他节点查看Topic是否创建/opt/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:90923.Kafka 集群任意节点生产者测试/opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopics4.Kafka 集群任意节点查看主题/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopics --from-beginning5.Kafka 集群任意节点查看 topic 详细信息/opt/kafka/bin/kafka-topics.sh --bootstrap-server server6:9092,server7:9092,server8:9092 --topic testtopics --describe3.3修改FIlebeat 配置文件3.3.1修改filebeat.yml文件vim /etc/filebeat/filebeat.yml filebeat test config -c /etc/filebeat/filebeat.yml #检验文件语法 filebeat test output -c /etc/filebeat/filebeat.yml #测试文件 systemctl restart filebeat3.3.2Kafka 集群任意节点消费者测试/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic apache-logs --from-beginning3.4Logstash 消费 Topic 消息说明进入server5到/etc/logstash/conf.d目录下创建一个kafka.conf配置文件cd /etc/logstash/conf.d vim kafka.conf /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/kafka.conf

相关新闻

2026/8/17 18:35:33

如何用 Hugging Face 加载 DeepSeek-V4-Pro-0813?新手完整教程

如何用 Hugging Face 加载 DeepSeek-V4-Pro-0813?新手完整教程 【免费下载链接】DeepSeek-V4-Pro-0813 项目地址: https://ai.gitcode.com/hf_mirrors/deepseek-ai/DeepSeek-V4-Pro-0813 想在本地用 Hugging Face 加载 DeepSeek-V4-Pro-0813 跑推理&#xf…

2026/8/17 19:31:02

TortoiseGit图形化工具安装配置与团队协作指南

1. TortoiseGit图形化工具概述TortoiseGit作为Windows平台上最受欢迎的Git图形化客户端之一,完美解决了命令行操作Git的学习曲线问题。我在团队协作开发中已经使用这个工具超过5年,它显著提升了非技术背景同事参与版本控制的效率。与SourceTree等同类工具…

2026/8/17 19:31:02

Strongbox 安全配置指南:用户、角色与权限管理完整教程

Strongbox 安全配置指南:用户、角色与权限管理完整教程 【免费下载链接】strongbox Strongbox is an artifact repository manager. 项目地址: https://gitcode.com/gh_mirrors/str/strongbox Strongbox 是一个开源的企业级制品仓库管理器(Artifa…

2026/8/17 19:26:00

Linux系统下R语言环境搭建与包管理全攻略

1. 项目概述:为什么要在Linux上折腾R?如果你是一个数据分析师、生物信息学研究员或者任何需要处理统计计算和可视化的开发者,那么R语言大概率是你工具箱里的常客。在Windows或macOS上,R的安装通常就是点几下鼠标的事,但…

2026/8/17 10:49:52

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/17 5:02:51

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/17 0:02:57

LabVIEW异步调用实战:解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必经之路如果你在LabVIEW里写过稍微复杂点的程序,尤其是涉及到界面响应、多任务并行或者硬件IO等待,大概率会遇到一个头疼的问题:程序“卡”住了。前面板点不动,进度条不更新…

2026/8/17 0:02:57

飞书局域网文件传输实战:3种方案实现高速点对点传输

1. 项目概述:为什么要在局域网内用飞书传文件? 飞书作为一款主流的协同办公套件,其核心功能是围绕云端协作设计的。无论是文档、表格还是文件,通常的分享逻辑都是“上传到云端 -> 生成链接 -> 分享给同事”。这个流程在互联…

2026/8/17 15:07:41

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/17 17:27:06

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/15 9:46:30

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…