--- title: "无法在恢复时移除设置 - 如何解决此 Elasticsearch 异常" date: 2026-03-11 lastmod: 2026-03-11 description: "在Elasticsearch快照恢复过程中尝试移除不可移除的设置时出现错误" tags: ["快照恢复", "设置管理", "集群配置"] summary: " 版本: 6.8-8.9 简而言之,当您在Elasticsearch快照的恢复过程中尝试移除某个设置时,会发生此错误。Elasticsearch不允许在恢复期间移除或更改某些设置。要解决此问题,您可以从恢复请求中移除该设置,或将该设置更改为有效值。另外,您也可以在恢复过程完成后再修改该设置。 日志上下文 # 日志 “cannot remove setting [” + ignoredSetting + “] on restore” 的类名是 RestoreService.java。 我们从Elasticsearch源代码中提取了以下内容,供寻求深入了解上下文的人参考: Set keyFilters = new HashSet<>(); List simpleMatchPatterns = new ArrayList<>(); for (String ignoredSetting : ignoreSettings) { if (Regex.isSimpleMatchPattern(ignoredSetting) == false) { if (UNREMOVABLE_SETTINGS.contains(ignoredSetting)) { throw new SnapshotRestoreException(snapshot, "cannot remove setting [" + ignoredSetting + "] on restore"); } else { keyFilters.add(ignoredSetting); } } else { simpleMatchPatterns.add(ignoredSetting); " --- > **版本:** 6.8-8.9 简而言之,当您在Elasticsearch快照的恢复过程中尝试移除某个设置时,会发生此错误。Elasticsearch不允许在恢复期间移除或更改某些设置。要解决此问题,您可以从恢复请求中移除该设置,或将该设置更改为有效值。另外,您也可以在恢复过程完成后再修改该设置。 ## 日志上下文 日志 "cannot remove setting [" + ignoredSetting + "] on restore" 的类名是 [RestoreService.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从Elasticsearch源代码中提取了以下内容,供寻求深入了解上下文的人参考: ```java Set keyFilters = new HashSet<>(); List simpleMatchPatterns = new ArrayList<>(); for (String ignoredSetting : ignoreSettings) { if (Regex.isSimpleMatchPattern(ignoredSetting) == false) { if (UNREMOVABLE_SETTINGS.contains(ignoredSetting)) { throw new SnapshotRestoreException(snapshot, "cannot remove setting [" + ignoredSetting + "] on restore"); } else { keyFilters.add(ignoredSetting); } } else { simpleMatchPatterns.add(ignoredSetting); ```