1、企业级实战问题Elasticsearch 配置文件里面的 path.data: 可以配置多个数据目录的路径的吗? ——来自死磕Elasticsearch知识星球微信群 2、7.13.0 之前版本可以配置多路径多数据路径的支持在7.13.0 + 版本中已被弃用。 https://www./guide/en/elasticsearch/reference/current/important-settings.html 如果需要,>=7.13.0 的版本仍然可以在 path.data 中指定多个路径。 Elasticsearch 将在提供的所有路径上存储节点的数据,但每个分片的数据将保留在相同的路径上。 3、但,官方不推荐使用多路径即便咱们配置了多路径,Elasticsearch 不会在节点的数据路径之间平衡分片。 单个路径的高磁盘使用量可以触发整个节点的高磁盘使用警戒水位线。 如果触发,即使节点的其他路径有可用磁盘空间,Elasticsearch 也不会向节点添加分片。 如果需要额外的磁盘空间,官方建议添加新节点而不是额外的数据路径。 4、为什么不推荐呢?官方 Github 定性结论解读https://github.com/elastic/elasticsearch/issues/71205 Elasticsearch 的多数据路径(MDP)功能允许在path.data设置中指定多个路径(通常指向不同的磁盘),这类似于软件级的 RAID-0。 虽然在过去,多数据路径作为一种简单运行多磁盘设置的方法被使用,但它长期以来一直是用户投诉的源头。 原因之一:在于它可能导致混淆或不直观的行为。 原因之二:多数据路径的实现复杂,并且没有得到良好的测试和维护,实际上与跨多个驱动器扩展数据路径文件系统和为每个数据路径运行一个节点相比,没有带来任何好处。 5、多路径问题的替代方案有没有替代方案?使用什么样的替代方案这才是咱们关注的点! 在面对多数据路径(MDP)被弃用的问题时,以下是一些替代方案和相关的实施原理以及注意事项,这些可以帮助我们转移到新的配置,同时保持数据的完整性和可用性。 5.1 替换方案一:每个数据路径运行一个独立节点原理
注意事项5.2 替换方案二:迁移到单路径配置并进行滚动重启原理
具体步骤
当上述命令执行后,Elasticsearch集群的配置会更新,以后所有新的数据分配都不会考虑名为"target-node-name"的节点。 这意味着如果集群中有新的分片需要分配或现有分片因为其他原因需要重新分配,系统将不会把它们分配到这个指定的节点“target-node-name”上。
在Elasticsearch中,管理和监控数据迁移进度以及分析任何可能的迁移问题时,可以使用两个有用的API:
和
API。 GET _cat/allocation 执行结果参考: GET _cluster/allocation/explain 执行结果参考: 这两个API的结合使用提供了一个强大的工具,以确保数据迁移的透明度和问题的可解决性,帮助管理员有效管理和优化Elasticsearch集群的操作。
这里的关闭的目标节点就是咱们步骤1的“target-node-name”节点,关闭节点是为了停止所有在该节点上的数据处理和服务,以便进行数据清理。
注意事项:
通过上述策略,可以有效地从使用多数据路径的配置过渡到更稳定和可维护的单数据路径配置,同时最小化迁移过程中的风险和中断。 5.3 替换方案三:使用硬件或软件虚拟化层实现单一文件系统原理:
注意事项:
6、参考https://www./guide/en/elasticsearch/reference/current/important-settings.html https://github.com/elastic/elasticsearch/issues/71205 更短时间更快习得更多干货! 和全球 近2000+ Elastic 爱好者一起精进! elastic6.cn——ElasticStack进阶助手 |
|