es 加磁盘扩容

es 加磁盘扩容

elasticsearch多磁盘扩容

1、问题

由于早前elasticsearch集群数据存储路径只配置了一个,所以某天磁盘突然爆满,集群差点当机。需重新配置多路径存储路径,因为在生产环境,得保证集群不死掉,只能一台一台配置重启。

2、修改配置文件

修改elasticsearch.yml中path.data属性,添加多路径以逗号分隔

path.data : /opt/data1,/opt/data2

 

3、查看集群状态

curl -XGET "http://xxxx:9200/_cat/indices" curl -XGET "http://xxxx:9200/_cat/nodes" curl -XGET "http://xxxx:9200/_cat/health"

 

 

4、关闭索引自动平衡

curl -XPUT "http://xxxx:9200/_cluster/settings" -d' { "transient" : { "cluster.routing.allocation.enable" : "none" } }'

 

5、重启节点

6、开启自动平衡

curl -XPUT "http://xxxx.52:9200/_cluster/settings" -d' { "transient": { "cluster.routing.allocation.enable": "all" } }'

 

7、重复4-6步骤

8、遇到的问题

有一个索引的某个分片一直处理UNASSIGNED状态,需进行手动分配。

curl -XGET 'http://xxxx:9200/_cat/shards' | grep UNASSIGNED #查看未分配的索引分片 curl -XGET "http://xxxx:9200/_cat/shards/index?v" #查看索引分片

 

 

使用reroute接口进行分配。 
reroute 接口支持五种指令:allocate_replica, allocate_stale_primary, allocate_empty_primary,move 和 cancel。 
常用的一般是 allocate 和 move,allocate_* 指令。 
因为负载过高等原因,有时候个别分片可能长期处于 UNASSIGNED 状态,我们就可以手动分配分片到指定节点上。默认情况下只允许手动分配副本分片(即使用 allocate_replica),所以如果要分配主分片,需要单独加一个 accept_data_loss 选项

分配主分片

curl -XPOST "http://xxxx:9200/_cluster/reroute" -d '{ "commands" : [ { "allocate_stale_primary" : { "index" : "index", "shard" : 4, "node" : "node56", "accept_data_loss" : true } } ] }'

 

分配副分片

curl -XPOST "http://xxxx:9200/_cluster/reroute" -d '{ "commands" : [ { "allocate_replica" : { "index" : "index", "shard" : 4, "node" : "node56" } } ] }'

 

 

9、kibana进和查询命令

fuser -n tcp 5601

转载于:https://www.cnblogs.com/gaoyuechen/p/10173253.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101240.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA打印菱形_编写程序打印出菱形

    JAVA打印菱形_编写程序打印出菱形publicclass菱形{   /**   *@paramargs   */   publicstaticvoidmain(String[]args){      //TODOAuto-generatedmethodstub      //首先把菱形看成上下,上五下四,所以第一个for有5次,第二个for4次   

    2022年9月29日
    5
  • vbs整人代码,表白+提醒 两段代码就OK

    vbs整人代码,表白+提醒 两段代码就OK在沉闷的工作环境下,有时玩玩整人代码也不错,整人代码一般使用VBS脚本来实现,简单的两行代码就可以实现表白+提醒了,不过大家也要警惕VBS脚本的危险性,下面小编分享的只是整人简单脚本,大家可以随便玩!并不损坏电脑文件。 先来第一段弹窗代码:MSGBOX“内容A”+CHR(13)+“内容B”+CHR(13)+“内容C”,1,“标题”将它们复制到文本中,将后缀改成“.VBS”就可以双…

    2022年5月7日
    126
  • 软件著作权的代码要求_软件著作权 源代码

    软件著作权的代码要求_软件著作权 源代码软件著作权源代码文档格式要求分类:专利申请常见问题发表时间:2020-10-27软件著作权源代码文档格式要求是什么?软件著作是计算机软件,在申请保护时需要提交软件的源代码。源代码是有格式要求的,以文档形势提交,那么这份源代码文档格式要求是什么呢?需要注意哪些问题呢?本文你详细介绍。常见的源代码包含:C语言,VB,C++,JAVA,.NET等。提交的代码必须是源代码的开头载入程序,第30页必…

    2025年12月4日
    4
  • petalinux-package_centos7安装详细图解

    petalinux-package_centos7安装详细图解PetalLinux是Xilinx公司推出的嵌入式Linux开发工具,专门针对Xilinx公司的FPGASoC芯片和开发板,用户可以在PetaLinux工具的帮助下进行完整的开发流程,包括设计,验证,仿真,下载等。本文将详细介绍PetaLinux的安装流程,虽然实际上基本就是把Xilinx的UG1144翻译一遍。

    2025年10月26日
    3
  • getparameter()_eclipse如何自动生成get和set方法

    getparameter()_eclipse如何自动生成get和set方法以下是一个简单的jsp注册页面,从前端提交的数据<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.g…

    2025年9月16日
    7
  • tensorflowpycharm安装_python tensorflow安装

    tensorflowpycharm安装_python tensorflow安装【报错】CouldnotinstallpackagesduetoanEnvironmentError:[WinError5]拒绝访问。:’f:\\strsoftware\\anaconda\\stranaconda\\lib\\site-packages\\tensorflow\\python\\_pywrap_tensorflow_internal.pyd’Considerusingthe`–user`optionorcheckthepermissions.或

    2022年8月28日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号