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

ES进程除了kill之外,有什么优雅关闭的方式吗?

问题

Linux环境中,Elasticsearch 8的进程除了kill之外,有什么优雅关闭的方式吗?

具体方式

在Linux环境中,Elasticsearch(ES)进程可以通过多种方式实现优雅关闭,这种方式允许它完成必要的清理工作,如保存未写入磁盘的数据、关闭索引等,而不是直接强制终止。对于Elasticsearch 8.x版本,可以采用以下几种方式进行优雅关闭:

  1. 通过Elasticsearch API
    发送HTTP请求到本地节点关闭整个集群:

    curl -X POST "localhost:9200/_cluster/nodes/_local/_shutdown"
    

    如果你知道特定节点的ID,也可以只关闭那个节点:

    curl -X POST "localhost:9200/_cluster/nodes/node_id/_shutdown"
    
  2. 通过Elasticsearch命令行工具
    使用Elasticsearch提供的elasticsearch-cli工具(从7.x版本开始引入)进行关闭:

    elasticsearch-cli --request POST "/_cluster/nodes/_local/_shutdown"
    
  3. 通过系统信号
    向Elasticsearch进程发送适当的信号也能触发优雅关闭。找到Elasticsearch进程的PID,然后发送SIGTERM信号:

    kill -SIGTERM <es_pid>
    

    Elasticsearch进程在接收到SIGTERM信号后,会按照设计的流程执行优雅关闭。

  4. 使用Systemd服务管理器(如果你的系统使用Systemd启动Elasticsearch服务):

    sudo systemctl stop elasticsearch.service
    

    Systemd通常会确保服务按照正确的方式来停止,包括执行服务定义中的“pre-stop”脚本,这对于像Elasticsearch这样的服务来说意味着执行一个有序的关闭。

小结

在大型集群中,尤其是在生产环境中,建议通过API或服务管理器进行关闭,以便确保集群状态一致性和数据完整性。同时,Elasticsearch在接收到关闭信号后,也会尽量保证正在执行的操作得到妥善处理和回滚,避免数据丢失或损坏。


http://www.kler.cn/a/274598.html

相关文章:

  • go mod tidy 命令
  • 算法学习(十六)—— 综合练习
  • git remote -v(--verbose)显示你的 Git 仓库配置的远程仓库的详细信息
  • apache-tomcat-6.0.44.exe Win10
  • 面试小札:Java后端闪电五连鞭_8
  • UE UMG 多级弹出菜单踩坑
  • 计算机二级(Python)真题讲解每日一题:《方菱形》
  • 【2024最新版,redis7】redis底层的10种数据结构
  • 力扣爆刷第100天之hot100五连刷86-90
  • cuda从入门到精通(六)共享内存和循环分块实现CUDA矩阵乘
  • 单片机-点亮LED灯
  • Android Kotlin版封装EventBus
  • .htaccess全站设置SSL,wordpress全站设置SSL,网站重定向的次数过多”错误最佳解决方法教程
  • 【Linux】详谈进程优先级进程调度与切换
  • python失物招领系统-安卓-flask-django-nodejs-php
  • 产品推荐 | 基于XC7K325T的FMC接口万兆光纤网络验证平台
  • 5.2.3、【AI技术新纪元:Spring AI解码】 Azure OpenAI 扩展
  • 【Node.js从基础到高级运用】十五、单元测试与集成测试
  • ISIS接口明文认证实验简述
  • 智慧城市:提升城市治理能力的关键
  • 【计算机视觉】Gaussian Splatting源码解读补充
  • React——组件通讯(不完整版)
  • 基于nodejs+vue班级管理系统的设计与实现-flask-django-python-php
  • springboot/ssm医院病历管理系统Java医院住院病历信息管理系统web
  • STM32编写ADC功能,实现单路测量电压值(OLED显示)
  • ES-Hadoop:将Elasticsearch与Hadoop无缝集成的开源工具