--- title: "无法获取已存在的角色,跳过角色导入 - 如何解决此 Elasticsearch 异常" date: 2026-03-09 lastmod: 2026-03-09 description: "Elasticsearch 在角色导入过程中无法检索已存在的角色,可能是由于连接问题或权限不正确导致的错误" tags: ["角色管理", "权限问题", "导入异常", "ESNativeRealmMigrateTool", "文件角色存储"] summary: "版本: 6.8-7.17 简而言之,当 Elasticsearch 在角色导入过程中无法检索已存在的角色时,会出现此错误,可能是由于连接问题或权限不正确。要解决此问题,请确保 Elasticsearch 具有访问角色所需的必要权限。此外,请检查 Elasticsearch 与角色源之间的网络连接。如果问题仍然存在,请考虑重新配置您的角色或重新索引您的数据。 日志上下文 # 日志 “failed to get roles that already exist; skipping role import” 类名是 ESNativeRealmMigrateTool.java. 我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入上下文的人提供参考: Maproles = FileRolesStore.parseRoleDescriptors(rolesFile; logger; true; Settings.EMPTY; null); SetexistingRoles; try { existingRoles = getRolesThatExist(terminal; env.settings(); env; options); } catch (Exception e) { throw new ElasticsearchException("failed to get roles that already exist; skipping role import"; e); } if (rolesToMigrate.length == 0) { rolesToMigrate = roles." --- > **版本:** 6.8-7.17 简而言之,当 Elasticsearch 在角色导入过程中无法检索已存在的角色时,会出现此错误,可能是由于连接问题或权限不正确。要解决此问题,请确保 Elasticsearch 具有访问角色所需的必要权限。此外,请检查 Elasticsearch 与角色源之间的网络连接。如果问题仍然存在,请考虑重新配置您的角色或重新索引您的数据。 日志上下文 ----------- 日志 "failed to get roles that already exist; skipping role import" 类名是 [ESNativeRealmMigrateTool.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入上下文的人提供参考: ```java Maproles = FileRolesStore.parseRoleDescriptors(rolesFile; logger; true; Settings.EMPTY; null); SetexistingRoles; try { existingRoles = getRolesThatExist(terminal; env.settings(); env; options); } catch (Exception e) { throw new ElasticsearchException("failed to get roles that already exist; skipping role import"; e); } if (rolesToMigrate.length == 0) { rolesToMigrate = roles.keySet().toArray(new String[roles.size()]); } for (String roleName : rolesToMigrate) { ```