elastic-debug

文章目录
  1. 1. 启动失败
  2. 2. 搜索结果的 _score都是None
  3. 3. 无法写入数据: cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)];
  • 参考资料
  • 启动失败

    可能是映射数据文件夹的权限不是777, 因为es容器内启动的账号不是root, 所以需要把映射数据文件夹设置成777权限

    搜索结果的 _score都是None

    因为使用了自定义的排序, 例如使用时间戳排序, 这时elastic会省略_socre.

    如果你希望排序并查看分数, 可以使用 track_scores 参数.

    参考

    stackoverflow

    无法写入数据: cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)];

    因为ES默认监控硬盘使用空间超过95%时会自动设置为自读状态.

    解决方案:

    1. 清理磁盘空间

    2. 配置阈值

      1
      2
      3
      4
      5
      6
      7
      8
      9
      PUT _cluster/settings
      {
      "transient": {
      "cluster.routing.allocation.disk.watermark.low": "100gb",
      "cluster.routing.allocation.disk.watermark.high": "50gb",
      "cluster.routing.allocation.disk.watermark.flood_stage": "10gb",
      "cluster.info.update.interval": "1m"
      }
      }
      1
      2
      3
      4
      5
      6
      7
      8
      9
      # 取消ES的只读状态
      import requests
      import json

      body = {"index.blocks.read_only_allow_delete": False}
      url = 'http://192.168.31.192:50082/_all/_settings'

      resp = requests.put(url, json=body)
      print(json.loads(resp.text))

    参考资料