更新时间:2024-11-29 GMT+08:00

自定义数据目录

操作场景

  • 主机未按Elasticsearch要求规划数据目录。
  • 单个Elasticsearch实例需要使用多块数据盘。

更换数据目录存在数据丢失风险,务必在数据写入之前完成自定义数据目录的操作。

前提条件

  • 管理员已根据业务需要规划好主机的数据目录。
  • 如果配置多数据盘,请确保每个EsNodeX角色使用相同数量的磁盘。

操作步骤

  1. 登录Manager。
  2. 在Manager界面,选择“集群 > 待操作集群的名称 > 服务 > Elasticsearch > 配置 > 全部配置 > 角色名称 > 数据存储”。
  3. 修改“elasticsearch.data.path”参数的值,填写对应的数据目录。

    • 数据目录属于角色级别的配置,务必在角色下操作。
    • 多个数据目录之间使用英文逗号分隔,且不允许出现空格。

      例如“/srv/BigData/elasticsearch/esnode1,/srv/BigData/elasticsearch/esnode1_1”。

  4. 重复以上操作,修改其它Elasticsearch角色的数据目录,确保每个EsNodeX角色使用相同数量的磁盘。
  5. 修改完成后,单击左上方“保存”,在弹出的对话框中单击“确定”保存配置。
  6. 选择“集群 > 待操作集群的名称 > 服务 > Elasticsearch > 实例”,勾选配置状态为“配置过期”的实例,选择“更多 > 重启实例”重启受影响的Elasticsearch实例。

多盘场景的使用建议

  • 提前规划好业务索引的大小,使用“别名+rollover”的方式滚动索引,将每个分片的大小控制在20~30G,避免过大和过小的分片带来的磁盘不均衡。
  • 使用相同规格、相同大小的磁盘,防止某个磁盘容量较小造成水桶效应。
  • 对所有索引设置副本,若磁盘损坏,不设置副本将导致数据丢失。
  • 创建索引时设置“total_shards_per_nodes”参数,将每个索引的分片均匀的分配到集群中不同的实例上。
  • 当出现磁盘故障时,请及时修复或者更换故障磁盘。