zoukankan      html  css  js  c++  java
  • Elasticsearch yellow 意味着主分片可用,副本不可用

     

    在通过 /_cluster/state 命令查看es 状态的时候,发现es 处于一个yellow的状态, 这个很奇怪,按照官方的解释,就是所有主分片都是处于可用状态,但是有复制分片不可用。为什么有复制分片不可用呢?

    通过/_cat/shards 查看,发现有从分配处于一个未分配的状态,该命令该出的数据奇怪的地方是,我的集群明明有三台机器,但是shareds里面只给出了两台。

    data 2 r STARTED 449516 1.6gb 100.73.22.5 22-5
    data 2 p STARTED 449516 1.6gb 100.73.22.6 22-6
    data 2 r UNASSIGNED

    然后通过查阅官方手册,查询UNASSIGNED 的原因,然后发现很多种可能性的,但是官方的api 的case里面,shards 是直接给出了原因的,但是我的es却没有给出原因。怎么办呢?在api文档里面找答案,发现了/_cluster/reroute 的命令,一看就知道是救星,既然状态是UNASSIGNED, 我手动指定 该切片到特定的节点,不就可以了么。

    执行命令

    curl -XPOST ‘100.73.22.5:6200/_cluster/reroute’ -d ‘{
    “commands” : [{
    "move" : {
    "index" : "data",
    "shard" : 0,
    "from_node" : "22-6" ,
    "to_node": "22-5"
    }
    }]
    }’

    然后ES报错,从报错信息里面得到一个信息,就是说磁盘空间已经超过了85%,无法执行,然后果然一看,磁盘已经满了。原来之所以只有两个节点,是因为第三个节点不能用导致的。

    so,剩下的就很简单,down掉es 进程,然后把 elasticsearch.yml 中的两项path信息,更新到一个更大的磁盘,然后重启服务,ok了。

    /_cat/shards发现 切片的状态,已经变成INITIALIZING了。正在同步数据。df -h 发现大磁盘的使用量 刷刷的上升。

  • 相关阅读:
    递归二分法和另类二分法(不推荐,因为占用资源)
    内置函数汇总
    非递归二分法
    2018.10.23习题随笔
    java中的类修饰符、成员变量修饰符、方法修饰符。
    js函数中的this关键字
    HTML5 <script>元素async,defer异步加载
    那些迷糊人的回调
    js函数prototype属性学习(二)
    js函数prototype属性学习(一)
  • 原文地址:https://www.cnblogs.com/bonelee/p/7458221.html
Copyright © 2011-2022 走看看