索引恢复

原文链接 :https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html

译文链接 : 索引恢复

贡献者 : 飞师傅

索引恢复API提供观察正在恢复的索引分片的功能。可以针对特定的索引或者集群范围报告恢复的状态。

例如,如下命令将显示索引”index1“和”index2“的恢复信息。

  1. GET index1,index2/_recovery?human

要查看集群的恢复状态,只需要省略索引名称。

  1. GET /_recovery?human

响应:

  1. {
  2. "index1" : {
  3. "shards" : [ {
  4. "id" : 0,
  5. "type" : "SNAPSHOT",
  6. "stage" : "INDEX",
  7. "primary" : true,
  8. "start_time" : "2014-02-24T12:15:59.716",
  9. "start_time_in_millis": 1393244159716,
  10. "total_time" : "2.9m",
  11. "total_time_in_millis" : 175576,
  12. "source" : {
  13. "repository" : "my_repository",
  14. "snapshot" : "my_snapshot",
  15. "index" : "index1"
  16. },
  17. "target" : {
  18. "id" : "ryqJ5lO5S4-lSFbGntkEkg",
  19. "hostname" : "my.fqdn",
  20. "ip" : "10.0.1.7",
  21. "name" : "my_es_node"
  22. },
  23. "index" : {
  24. "size" : {
  25. "total" : "75.4mb",
  26. "total_in_bytes" : 79063092,
  27. "reused" : "0b",
  28. "reused_in_bytes" : 0,
  29. "recovered" : "65.7mb",
  30. "recovered_in_bytes" : 68891939,
  31. "percent" : "87.1%"
  32. },
  33. "files" : {
  34. "total" : 73,
  35. "reused" : 0,
  36. "recovered" : 69,
  37. "percent" : "94.5%"
  38. },
  39. "total_time" : "0s",
  40. "total_time_in_millis" : 0
  41. },
  42. "translog" : {
  43. "recovered" : 0,
  44. "total" : 0,
  45. "percent" : "100.0%",
  46. "total_on_start" : 0,
  47. "total_time" : "0s",
  48. "total_time_in_millis" : 0,
  49. },
  50. "start" : {
  51. "check_index_time" : "0s",
  52. "check_index_time_in_millis" : 0,
  53. "total_time" : "0s",
  54. "total_time_in_millis" : 0
  55. }
  56. } ]
  57. }
  58. }

以上响应内容展示了单个索引恢复单个分片。在这个例子中,恢复的源是快照存储库,恢复的目标是名称为”my_es_node“的节点。

除此之外,输出显示恢复的文件的数量和百分比,以及恢复的字节数和百分比。

在一些情况下,更高级别的细节可能是优选的。设置”detailed=true“将提供恢复中的物理文件列表。

  1. GET _recovery?human&detailed=true

响应:

  1. {
  2. "index1" : {
  3. "shards" : [ {
  4. "id" : 0,
  5. "type" : "STORE",
  6. "stage" : "DONE",
  7. "primary" : true,
  8. "start_time" : "2014-02-24T12:38:06.349",
  9. "start_time_in_millis" : "1393245486349",
  10. "stop_time" : "2014-02-24T12:38:08.464",
  11. "stop_time_in_millis" : "1393245488464",
  12. "total_time" : "2.1s",
  13. "total_time_in_millis" : 2115,
  14. "source" : {
  15. "id" : "RGMdRc-yQWWKIBM4DGvwqQ",
  16. "hostname" : "my.fqdn",
  17. "ip" : "10.0.1.7",
  18. "name" : "my_es_node"
  19. },
  20. "target" : {
  21. "id" : "RGMdRc-yQWWKIBM4DGvwqQ",
  22. "hostname" : "my.fqdn",
  23. "ip" : "10.0.1.7",
  24. "name" : "my_es_node"
  25. },
  26. "index" : {
  27. "size" : {
  28. "total" : "24.7mb",
  29. "total_in_bytes" : 26001617,
  30. "reused" : "24.7mb",
  31. "reused_in_bytes" : 26001617,
  32. "recovered" : "0b",
  33. "recovered_in_bytes" : 0,
  34. "percent" : "100.0%"
  35. },
  36. "files" : {
  37. "total" : 26,
  38. "reused" : 26,
  39. "recovered" : 0,
  40. "percent" : "100.0%",
  41. "details" : [ {
  42. "name" : "segments.gen",
  43. "length" : 20,
  44. "recovered" : 20
  45. }, {
  46. "name" : "_0.cfs",
  47. "length" : 135306,
  48. "recovered" : 135306
  49. }, {
  50. "name" : "segments_2",
  51. "length" : 251,
  52. "recovered" : 251
  53. },
  54. ...
  55. ]
  56. },
  57. "total_time" : "2ms",
  58. "total_time_in_millis" : 2
  59. },
  60. "translog" : {
  61. "recovered" : 71,
  62. "total_time" : "2.0s",
  63. "total_time_in_millis" : 2025
  64. },
  65. "start" : {
  66. "check_index_time" : 0,
  67. "total_time" : "88ms",
  68. "total_time_in_millis" : 88
  69. }
  70. } ]
  71. }
  72. }

以上响应显示恢复的实际文件和它们大小的详细列表(为了简洁截取部分)。

还显示了恢复的各个阶段的实际时间(以毫秒为单位):索引检索,事务日志重放以及索引开始时间。

注意,上面的列表表示恢复处于完成阶段。所有的恢复,无论是正在进行的还是已经完成的,都保持在集群状态下,并且可以随时报告。”active_only=true“这个设置只显示正在进行的恢复。

以下是完整的选项列表:

| detailed | 显示详细视图。这主要用于查看物理索引文件的恢复情况。默认为:false。 | | active_only | 只显示当前正在进行的恢复。默认为:false。 |

输出字段说明:

| id | 分片id | | type | 恢复类型:

  • 存储
  • 快照
  • 副本
  • 迁移

    | | stage | 恢复阶段:

  • init: 恢复尚未启动

  • index: 读取索引元数据并从源到目标复制字节
  • start: 启动引擎,打开索引使用
  • translog: 重放事务日志
  • finalize: 清理
  • done: 完成

    | | primary | 值为true表示分片为主分片,false反之。 | | start_time | 开始恢复的时间戳 | | stop_time | 完成恢复的时间戳 | | total_time_in_millis | 恢复分片的总时间(毫秒) | | source | 恢复源:

  • 如果恢复是来自快照的,则为存储库的描述

  • 否则为源节点的描述

    | | target | 目标节点 | | index | 物理索引恢复统计 | | translog | 事务日志恢复统计 | | start | 打开启动索引时间的统计信息 |