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

【Ansible】Ansible 管理 Elasticsearch 集群启停

一、集群节点信息

通过 Ansible inventory 定义的集群节点分组如下:

  • [es](Elasticsearch 节点)

    • 192.168.100.150
    • 192.168.100.151
    • 192.168.100.152
  • [logstash](Logstash 节点)

    • 192.168.100.151
  • [kibana](Kibana 节点)

    • 192.168.100.150

二、集群启动脚本(es_start.sh)

1. 脚本功能

通过 Ansible 批量启动集群组件,遵循依赖顺序启动原则,确保组件间协作正常。

2. 启动顺序及说明

#!/bin/bash# 1. 先启动Elasticsearch(核心存储组件,需等待集群就绪)
echo "===== 启动Elasticsearch集群 ====="
ansible es -m shell -a "systemctl start elasticsearch && systemctl status elasticsearch | grep 'Active:'"# 等待Elasticsearch集群初始化(根据集群规模调整等待时间)
echo -e "\n===== 等待Elasticsearch集群就绪(60秒) ====="
sleep 60# 检查Elasticsearch集群健康状态
echo -e "\n===== 检查Elasticsearch集群健康状态 ====="
ansible es[0] -m shell -a "curl -s -u elastic:your_elastic_password 'http://192.168.100.150:9200/_cluster/health' | jq .status"# 2. 启动Kibana(依赖Elasticsearch)
echo -e "\n===== 启动Kibana组件 ====="
ansible kibana -m shell -a "systemctl start kibana && systemctl status kibana | grep 'Active:'"# 3. 最后启动Logstash(数据采集组件,依赖Elasticsearch接收数据)
echo -e "\n===== 启动Logstash组件 ====="
ansible logstash -m shell -a "systemctl start logstash && systemctl status logstash | grep 'Active:'"echo -e "\n===== 集群启动完成 ====="

在这里插入图片描述

3. 启动逻辑说明

  • 优先启动 Elasticsearch:作为核心存储组件,需先确保集群就绪(通过 60 秒等待和健康状态检查)。
  • 其次启动 Kibana:Kibana 依赖 Elasticsearch 提供数据,需在 ES 就绪后启动。
  • 最后启动 Logstash:Logstash 负责数据采集,需在 ES 可用后启动以避免数据丢失。

三、集群停止脚本(es_stop.sh)

1. 脚本功能

通过 Ansible 批量停止集群组件,遵循反向依赖顺序,确保数据安全。

2. 停止顺序及说明

#!/bin/bash# 1. 先停止Logstash(数据采集组件,避免新数据写入)
echo "===== 停止Logstash组件 ====="
ansible logstash -m shell -a "systemctl stop logstash && systemctl status logstash | grep 'Active:'"# 2. 停止Kibana(可视化组件,不影响数据存储)
echo -e "\n===== 停止Kibana组件 ====="
ansible kibana -m shell -a "systemctl stop kibana && systemctl status kibana | grep 'Active:'"# 3. 最后停止Elasticsearch(核心存储组件,确保数据写入完成)
echo -e "\n===== 停止Elasticsearch集群 ====="
ansible es -m shell -a "systemctl stop elasticsearch && systemctl status elasticsearch | grep 'Active:'"echo -e "\n===== 集群停止完成 ====="

在这里插入图片描述

3. 停止逻辑说明

  • 先停止 Logstash:避免新数据持续写入,确保现有数据已处理完毕。
  • 再停止 Kibana:Kibana 仅用于可视化,停止后不影响数据存储。
  • 最后停止 Elasticsearch:确保所有数据已落盘,避免强制停止导致数据损坏。

四、脚本使用说明

  1. 权限设置:确保脚本可执行
    chmod +x es_start.sh es_stop.sh
    
  2. 启动集群
    ./es_start.sh
    
  3. 停止集群
    ./es_stop.sh
    
  4. 注意事项
    • 替换脚本中的 your_elastic_password 为实际 Elasticsearch 密码。
    • 可根据集群规模调整 sleep 60 的等待时间(节点越多,可能需要更长时间)。
    • 脚本通过 grep 'Active:' 实时输出组件状态,便于确认操作结果。
http://www.lryc.cn/news/597298.html

相关文章:

  • NAPI node-addon-api 编译报错 error C1083: “napi.h”: No such file or directory
  • 【esp32s3】GPIO 寄存器 开发解析
  • MACOS安装配置Gradle
  • 垃圾回收介绍
  • static 关键字的 特殊性
  • 双流join 、 Paimon Partial Update 和 动态schema
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-2,(电路分析/MOS管)
  • OpenLayers 快速入门(四)View 对象
  • PyTorch中nn.Module详解和综合代码示例
  • 大模型提示词漏洞攻防实战:从注入攻击到智能免疫系统的进化之路
  • mac电脑搭载c、c++环境(基于vs code)
  • 在mac 上zsh 如何安装最新的 go 工具
  • GRE实验
  • 微软Fabric重塑数据管理:Forrester报告揭示高ROI
  • 「iOS」——KVC
  • linxu CentOS 配置nginx
  • 【音视频学习】四、深入解析视频技术中的YUV数据存储方式:从原理到实践
  • 开源UI生态掘金:从Ant Design二次开发到行业专属组件的技术变现
  • 7月23日华为机考真题第二题-200分
  • 7月23日华为机考真题第一题100分
  • 关于原车一键启动升级手机控车的核心信息及注意事项
  • 将AI协作编程从“碰运气”的提示工程(Prompt Engineering)提升到“可预期”的上下文工程(Context Engineering)
  • 驯服AI的“魔法咒语”:Prompt提示词工程使用教程
  • [特殊字符] 从数据库无法访问到成功修复崩溃表:一次 MySQL 故障排查实录
  • 显微科研中的关键选择:不同显微镜相机技术特性与应用适配性全面解析
  • SpringBoot Stream实战指南
  • Django学习之旅--第13课:Django模型关系进阶与查询优化实战
  • 电科金仓推出AI融合数据库,开启国产数据库新时代
  • 深入理解 Java Builder 设计模式:解决构造函数爆炸问题
  • Java SE:类与对象的认识