From bcde3bca05422766c7b8069087a5f4dabff1ed0c Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Thu, 12 Sep 2024 22:52:46 -0700 Subject: [PATCH 1/9] Add a note Signed-off-by: Yang Zhang --- online-unsafe-recovery.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index 1cf7b08c1d4a..1015a98696bc 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -56,6 +56,10 @@ pd-ctl -u unsafe remove-failed-stores 若 PD 进行过灾难性恢复 [`pd-recover`](/pd-recover.md) 操作,丢失了无法恢复的 TiKV 节点的 store 信息,因此无法确定要传的 store ID 时,可指定 `--auto-detect` 参数允许传入一个空的 store ID 列表。在该模式下,所有未在 PD store 列表中的 store ID 均被认为无法恢复,进行移除。 +> **注意:** +> +> 请确保一次性输入 **所有** 失败的 TiKV 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 节点。如果无法确定所有的失败节点,可以使用 --auto-detect 模式,由 PD 将所有不在当前 store 列表中的副本删除。 + > **注意:** > > - 由于此命令需要收集来自所有 Peer 的信息,可能会造成 PD 短时间内有明显的内存使用量上涨(10 万个 Peer 预计使用约 500 MiB 内存)。 From 34bfed947cca99f9d05be60da3e5e1a25b84c614 Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Sat, 14 Sep 2024 01:18:47 -0700 Subject: [PATCH 2/9] Update online-unsafe-recovery.md Co-authored-by: Neil Shen --- online-unsafe-recovery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index 1015a98696bc..5d9f684197ca 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -58,7 +58,7 @@ pd-ctl -u unsafe remove-failed-stores > **注意:** > -> 请确保一次性输入 **所有** 失败的 TiKV 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 节点。如果无法确定所有的失败节点,可以使用 --auto-detect 模式,由 PD 将所有不在当前 store 列表中的副本删除。 +> 请确保一次性输入 **所有** 失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 节点。如果无法确定所有的失败节点,可以使用 --auto-detect 模式,由 PD 将所有不在当前 store 列表中的副本删除。 > **注意:** > From 3349959617a4c2bb3b4249162c68ae871f0583ca Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Wed, 30 Oct 2024 14:06:13 -0700 Subject: [PATCH 3/9] Address comments Signed-off-by: Yang Zhang --- online-unsafe-recovery.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index 5d9f684197ca..52961d4fab12 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -38,7 +38,7 @@ Online Unsafe Recovery 功能适用于以下场景: ### 第 1 步:指定无法恢复的节点 -使用 PD Control 执行 [`unsafe remove-failed-stores [,,...]`](/pd-control.md#unsafe-remove-failed-stores-store-ids--show) 命令,指定已确定无法恢复的**所有** TiKV 节点,并用逗号隔开,以触发自动恢复。 +使用 PD Control 执行 [`unsafe remove-failed-stores [,,...]`](/pd-control.md#unsafe-remove-failed-stores-store-ids--show) 命令,指定已确定无法恢复的**所有** TiKV 和 TiFlash 节点,并用逗号隔开,以触发自动恢复。 {{< copyable "shell-regular" >}} @@ -58,7 +58,7 @@ pd-ctl -u unsafe remove-failed-stores > **注意:** > -> 请确保一次性输入 **所有** 失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 节点。如果无法确定所有的失败节点,可以使用 --auto-detect 模式,由 PD 将所有不在当前 store 列表中的副本删除。 +> 请确保一次性输入 **所有** 失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 和 TiFlash 节点。如果无法确定所有的失败节点,可以使用 --auto-detect 模式,由 PD 将所有不在当前 store 列表中的副本删除。 > **注意:** > From 301f04f85f6baeff16ed21d14bc6561ebeb9a6fd Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Fri, 8 Nov 2024 22:01:27 -0800 Subject: [PATCH 4/9] Address comments Signed-off-by: Yang Zhang --- online-unsafe-recovery.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index 52961d4fab12..b9705c22baa8 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -54,15 +54,21 @@ pd-ctl -u unsafe remove-failed-stores 可通过 `--timeout ` 指定可允许执行恢复的最长时间。若未指定,默认为 5 分钟。当超时后,恢复中断报错。 -若 PD 进行过灾难性恢复 [`pd-recover`](/pd-recover.md) 操作,丢失了无法恢复的 TiKV 节点的 store 信息,因此无法确定要传的 store ID 时,可指定 `--auto-detect` 参数允许传入一个空的 store ID 列表。在该模式下,所有未在 PD store 列表中的 store ID 均被认为无法恢复,进行移除。 - > **注意:** > -> 请确保一次性输入 **所有** 失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 和 TiFlash 节点。如果无法确定所有的失败节点,可以使用 --auto-detect 模式,由 PD 将所有不在当前 store 列表中的副本删除。 +> 手动输入失败节点时,请确保一次性输入 **所有** 失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 和 TiFlash 节点。 + +若 PD 进行过灾难性恢复 [`pd-recover`](/pd-recover.md) 等类似操作,丢失了无法恢复的 TiKV 节点的 store 信息,因此无法确定要传的 store ID 时,可使用 `--auto-detect` 模式。在该模式下,PD 会将所有存在于未注册 stores (或曾经注册过,但已被强行删除) 上的副本进行移除。 + +{{< copyable "shell-regular" >}} + +```bash +pd-ctl -u unsafe remove-failed-stores --auto-detect +``` > **注意:** > -> - 由于此命令需要收集来自所有 Peer 的信息,可能会造成 PD 短时间内有明显的内存使用量上涨(10 万个 Peer 预计使用约 500 MiB 内存)。 +> - Unsafe Recovery 需要收集来自所有 Peer 的信息,可能会造成 PD 短时间内有明显的内存使用量上涨(10 万个 Peer 预计使用约 500 MiB 内存)。 > - 若执行过程中 PD 发生重启,则恢复中断,需重新触发命令。 > - 一旦执行,所指定的节点将被设为 Tombstone 状态,不再允许启动。 > - 执行过程中,所有调度以及 split/merge 都会被暂停,待恢复成功或失败后自动恢复。 From 70162c7b208dae12e21ceaae568ee59908781412 Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Wed, 4 Dec 2024 22:37:29 -0800 Subject: [PATCH 5/9] Update online-unsafe-recovery.md Co-authored-by: Grace Cai --- online-unsafe-recovery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index b9705c22baa8..b87ef87850ef 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -58,7 +58,7 @@ pd-ctl -u unsafe remove-failed-stores > > 手动输入失败节点时,请确保一次性输入 **所有** 失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 和 TiFlash 节点。 -若 PD 进行过灾难性恢复 [`pd-recover`](/pd-recover.md) 等类似操作,丢失了无法恢复的 TiKV 节点的 store 信息,因此无法确定要传的 store ID 时,可使用 `--auto-detect` 模式。在该模式下,PD 会将所有存在于未注册 stores (或曾经注册过,但已被强行删除) 上的副本进行移除。 +若 PD 进行过灾难性恢复 [`pd-recover`](/pd-recover.md) 等类似操作,丢失了无法恢复的 TiKV 节点的 store 信息,因此无法确定要传入的 store ID 时,可使用 `--auto-detect` 模式。在该模式下,PD 会自动清理那些没有注册过的 TiKV 节点(或曾经注册过但已经被强制删除的 TiKV 节点)上的副本。 {{< copyable "shell-regular" >}} From 968c96abdee3109dae1953a233ae3e4081cf355e Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Wed, 4 Dec 2024 22:37:47 -0800 Subject: [PATCH 6/9] Update online-unsafe-recovery.md Co-authored-by: Grace Cai --- online-unsafe-recovery.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index b87ef87850ef..327ead0ec005 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -60,8 +60,6 @@ pd-ctl -u unsafe remove-failed-stores 若 PD 进行过灾难性恢复 [`pd-recover`](/pd-recover.md) 等类似操作,丢失了无法恢复的 TiKV 节点的 store 信息,因此无法确定要传入的 store ID 时,可使用 `--auto-detect` 模式。在该模式下,PD 会自动清理那些没有注册过的 TiKV 节点(或曾经注册过但已经被强制删除的 TiKV 节点)上的副本。 -{{< copyable "shell-regular" >}} - ```bash pd-ctl -u unsafe remove-failed-stores --auto-detect ``` From 44a4f1716a8cab05a19f512b9feb20fd855f84dc Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 5 Dec 2024 17:33:44 +0800 Subject: [PATCH 7/9] remove extra spaces --- online-unsafe-recovery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index 327ead0ec005..fda959190532 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -56,7 +56,7 @@ pd-ctl -u unsafe remove-failed-stores > **注意:** > -> 手动输入失败节点时,请确保一次性输入 **所有** 失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 和 TiFlash 节点。 +> 手动输入失败节点时,请确保一次性输入**所有**失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 和 TiFlash 节点。 若 PD 进行过灾难性恢复 [`pd-recover`](/pd-recover.md) 等类似操作,丢失了无法恢复的 TiKV 节点的 store 信息,因此无法确定要传入的 store ID 时,可使用 `--auto-detect` 模式。在该模式下,PD 会自动清理那些没有注册过的 TiKV 节点(或曾经注册过但已经被强制删除的 TiKV 节点)上的副本。 From 907060303cf56c2ce108f9577d04748eb267459e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 5 Dec 2024 17:53:21 +0800 Subject: [PATCH 8/9] adjust the order of some descriptions --- online-unsafe-recovery.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index fda959190532..e4014afc0094 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -38,26 +38,26 @@ Online Unsafe Recovery 功能适用于以下场景: ### 第 1 步:指定无法恢复的节点 -使用 PD Control 执行 [`unsafe remove-failed-stores [,,...]`](/pd-control.md#unsafe-remove-failed-stores-store-ids--show) 命令,指定已确定无法恢复的**所有** TiKV 和 TiFlash 节点,并用逗号隔开,以触发自动恢复。 - -{{< copyable "shell-regular" >}} +使用 PD Control 执行 [`unsafe remove-failed-stores [,,...]`](/pd-control.md#unsafe-remove-failed-stores-store-ids--show) 命令,指定**所有**已确定无法恢复的 TiKV 和 TiFlash 节点,并用逗号隔开,以触发自动恢复。 ```bash pd-ctl -u unsafe remove-failed-stores ``` -命令输出 `Success` 表示向 PD 注册任务成功。但仅表示请求已被接受,并不代表恢复成功。恢复任务在后台进行,具体进度使用 [`show`](#第-2-步查看进度等待结束) 查看。命令输出 `Failed` 表示注册任务失败,可能的错误有: +> **注意:** +> +> 请确保在该命令中一次性指定**所有**已确定无法恢复的 TiKV 节点和 TiFlash 节点,如果有部分无法恢复的节点被遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery,请仍确保该命令后续的执行仍然带有之前已经处理过的 TiKV 和 TiFlash 节点。 + +可通过 `--timeout ` 指定可允许执行恢复的最长时间。若未指定,默认为 5 分钟。当超时后,恢复中断报错。 + +该命令输出 `Success` 表示向 PD 注册任务成功。但仅表示请求已被接受,并不代表恢复成功。恢复任务在后台进行,具体进度使用 [`show`](#第-2-步查看进度等待结束) 查看。 + +该命令输出 `Failed` 表示注册任务失败,可能的错误有: - `unsafe recovery is running`:已经有正在进行的恢复任务 - `invalid input store x doesn't exist`:指定的 store ID 不存在 - `invalid input store x is up and connected`:指定的 store ID 仍然是健康的状态,不应该进行恢复 -可通过 `--timeout ` 指定可允许执行恢复的最长时间。若未指定,默认为 5 分钟。当超时后,恢复中断报错。 - -> **注意:** -> -> 手动输入失败节点时,请确保一次性输入**所有**失败的 TiKV 节点和 TiFlash 节点,如果有部分失败节点遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery ,请仍确保后续的执行仍然带有之前已经处理过的失败 TiKV 和 TiFlash 节点。 - 若 PD 进行过灾难性恢复 [`pd-recover`](/pd-recover.md) 等类似操作,丢失了无法恢复的 TiKV 节点的 store 信息,因此无法确定要传入的 store ID 时,可使用 `--auto-detect` 模式。在该模式下,PD 会自动清理那些没有注册过的 TiKV 节点(或曾经注册过但已经被强制删除的 TiKV 节点)上的副本。 ```bash From 18770f7264078f2700a0da2c0e1dd7998077fd21 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 5 Dec 2024 18:20:59 +0800 Subject: [PATCH 9/9] minor format updates --- online-unsafe-recovery.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/online-unsafe-recovery.md b/online-unsafe-recovery.md index e4014afc0094..bc96a1b792c3 100644 --- a/online-unsafe-recovery.md +++ b/online-unsafe-recovery.md @@ -46,7 +46,8 @@ pd-ctl -u unsafe remove-failed-stores > **注意:** > -> 请确保在该命令中一次性指定**所有**已确定无法恢复的 TiKV 节点和 TiFlash 节点,如果有部分无法恢复的节点被遗漏,恢复可能会被阻塞。如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery,请仍确保该命令后续的执行仍然带有之前已经处理过的 TiKV 和 TiFlash 节点。 +> - 请确保在该命令中一次性指定**所有**已确定无法恢复的 TiKV 节点和 TiFlash 节点,如果有部分无法恢复的节点被遗漏,恢复可能会被阻塞。 +> - 如果在短时间内 (如一天时间内),已经运行过一次 Online Unsafe Recovery,请仍确保该命令后续的执行仍然带有之前已经处理过的 TiKV 和 TiFlash 节点。 可通过 `--timeout ` 指定可允许执行恢复的最长时间。若未指定,默认为 5 分钟。当超时后,恢复中断报错。