回滚到 Kibana 的先前版本

编辑

回滚到 Kibana 的先前版本编辑

如果您已按照 准备迁移解决迁移失败 的步骤操作,但 Kibana 仍然无法成功升级,请回滚 Kibana,直到您能够识别并修复根本原因。

在回滚 Kibana 之前,请确保您要回滚到的版本与您的 Elasticsearch 集群兼容。如果您要回滚到的版本不兼容,您还必须回滚 Elasticsearch。回滚到先前版本时,升级后所做的任何更改都会丢失。

要回滚失败的升级迁移,您还必须回滚 Kibana 功能状态以使其与先前 Kibana 版本兼容。

通过从快照恢复 Kibana 功能状态来回滚编辑

  1. 在继续之前,请 创建快照,其中包含 kibana 功能状态。默认情况下,快照包含 kibana 功能状态。
  2. 为了确保没有 Kibana 实例正在执行升级迁移,请关闭所有 Kibana 实例。
  3. 恢复 失败的 Kibana 升级之前创建的快照中的 kibana 功能状态。以下 Elasticsearch 请求将仅恢复 Kibana 功能状态

    POST _snapshot/my_repository/my_snapshot_2099.05.06/_restore
    {
      "indices": "-*", 
      "feature_states": ["kibana"]
    }

    从恢复操作中排除所有索引和数据流,以确保仅恢复 Kibana 功能状态中包含的 Kibana 系统索引。

  4. 在您要回滚到的旧版本上启动所有 Kibana 实例。

(不支持) 在没有备份快照的情况下回滚编辑

不支持在没有备份快照的情况下回滚,并且将在 Kibana 的未来版本中删除。

  1. 为了确保没有 Kibana 实例正在执行升级迁移,请关闭所有 Kibana 实例。
  2. 创建快照,其中包含 kibana 功能状态。默认情况下,快照包含 kibana 功能状态。
  3. 删除失败的升级迁移创建的特定于版本的索引。

    例如,要从失败的升级回滚到 v7.12.0,请输入

    DELETE /.kibana_7.12.0_*,.kibana_task_manager_7.12.0_*
  4. 检查 GET /_cat/aliases 的输出。

    如果缺少 .kibana.kibana_task_manager 别名,您必须手动创建它们。从 GET /_cat/indices 的输出中找到最新的索引,并创建一个指向最新索引的缺失别名。例如,如果缺少 .kibana 别名,并且最新的索引是 .kibana_3,请使用以下命令创建一个新的别名

    POST /.kibana_3/_aliases/.kibana
  5. 要从回滚索引中删除写入阻止,请输入

    PUT /.kibana,.kibana_task_manager/_settings {"index.blocks.write": false}
  6. 在您要回滚到的旧版本上启动 Kibana。