概述
Elasticsearch (ES) 为 GitHub Enterprise Server 实例提供搜索功能。 为了带来更好的性能和安全状况,当将实例升级到版本 3.13 或更高版本时,设备的 Elasticsearch 版本将从 5.6.16 升级到 8.7.0。
以下部分可帮助管理员准备和监视 Elasticsearch 升级。 重点是:
- 升级将暂时降级搜索和审核日志功能的体验。
- 如果要升级群集配置中的实例,则必须运行脚本来为 ES 升级准备群集。 请参阅“升级集群”。
- 对于备份,所有客户都应在升级完成后拍摄其实例的快照。
对搜索和审核日志的影响
升级到 ES8 后,将重新生成所有搜索索引。 在重新生成期间,用户将体验到降级的搜索体验,但该实例应正常运行且可用。 索引重新生成过程取决于数据集大小,可能需要数小时到几天的时间。
升级后,审核日志不会立即可用,迁移所有审核日志可能需要几个小时。
强烈建议在索引重新生成完成后立即进行备份(使用 backup-utils),并将该快照用于将来的所有还原。 请参阅“在实例上配置备份”。 如果从运行 GitHub Enterprise Server 3.11 或 3.12 的实例还原备份,则依赖 ES 的任何内容只有在迁移 ES 索引并在 3.13 实例上重新生成后才可用。
监视 Elasticsearch 升级
可在站点管理员仪表板中监视 ES 升级的进度。
- 在任何页面的右上角,单击 。
- 在左侧边栏中,单击“搜索索引”。
索引重新生成完成后,所有搜索索引都应显示绿色和“100%”。
更改修复辅助角色数
默认情况下,索引修复辅助角色数设置为 CPU 核心数除以 8(上限为 8)。 若要加快索引重新生成速度,可以调整辅助角色计数。 但是,在这样做之前,应考虑对负载的潜在影响。
-
通过 SSH 连接到 你的 GitHub Enterprise Server 实例。 如果实例包含多个节点,例如,如果配置了高可用性或异地复制,则通过 SSH 连接到主节点。 如果使用群集,则可以通过 SSH 连接到任何节点。 将 HOSTNAME 替换为实例的主机名,或节点的主机名或 IP 地址。 有关详细信息,请参阅“访问管理 shell (SSH)”。
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
若要更改辅助角色数,请输入下列命令。
Shell ghe-config app.github.es-workers NUMBER-OF-WORKERS
ghe-config app.github.es-workers NUMBER-OF-WORKERS
-
运行
ghe-config-apply
。
还可以在站点管理员仪表板的“搜索索引”部分中调整单个索引重新生成的辅助角色计数。 请参阅“监视 Elasticsearch 升级”部分。