Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tools, readme: add pd recover usage document #818

Merged
merged 3 commits into from
Jul 31, 2018
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
- [Loader](tools/loader.md)
- [TiDB-Binlog](tools/tidb-binlog-kafka.md)
- [PD Control](tools/pd-control.md)
- [PD Recover](tools/pd-recover.md)
- [TiKV Control](tools/tikv-control.md)
- [TiDB Controller](tools/tidb-controller.md)
+ TiSpark 文档
Expand Down
39 changes: 39 additions & 0 deletions tools/pd-recover.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: PD Recover 使用文档
category: tools
---

# PD Recover 使用文档

PD Recover 是对 PD 进行灾难性恢复的工具,用于恢复无法正常启动或服务的 PD 集群。

## 源码编译

1. [Go](https://golang.org/) Version 1.9 以上
2. 在 PD 项目根目录使用 `make` 命令进行编译,生成 `bin/pd-recover`

## 使用方法

### 参数说明

```
-alloc-id uint
指定比原集群已分配过的 ID 更大的数
-cacert string
指定 PEM 格式的受信任 CA 的证书文件路径
-cert string
指定 PEM 格式的 SSL 证书文件路径
-key string
指定 PEM 格式的 SSL 证书密钥文件路径,即 `--cert` 所指定的证书的私钥
-cluster-id uint
指定原集群的 cluster ID
-endpoints string
指定 PD 的地址 (default "http://127.0.0.1:2379")
```

### 恢复流程
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

一般用有序列表(ordered list)描述一个流程,因为流程中的步骤有先后顺序。
列举若干项目时用无序列表(unordered list)。


1. 从当前集群中找到集群的 Cluster ID 和 Alloc ID。一般 Cluster ID 可以从 PD,TiKV 或 TiDB 的日志中都可以获取。已经分配过的 Alloc ID 可以从 PD 日志获得 。另外也可以从 PD 的监控面板的 Metadata Information 监控项中获得。在指定 alloc-id 时需指定一个比当前最大的 Alloc ID 更大的值。如果没有途径获取 Alloc ID,可以根据集群中的 Region,Store 数预估一个较大的数,一般可取高几个数量级的数。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • "一般 Cluster ID 可以从 PD,TiKV 或 TiDB 的日志中都可以获取。" -> "一般可以从 PD,TiKV 或 TiDB 的日志中获取 Cluster ID。" (Suggested) OR "一般在 PD,TiKV 或 TiDB 的日志中都可以获取 Cluster ID。"
  • "已经分配过的 Alloc ID 可以从 PD 日志获得 。" Please delete the white space before the period.

2. 停止整个集群,清空 PD 数据目录,重启 PD 集群。
3. 使用 PD recover 进行恢复,注意指定正确的 cluster-id 和合适的 alloc-id。
4. 提示恢复成功后,重启整个集群。