Skip to content

Commit

Permalink
tools: add pd recover usage document
Browse files Browse the repository at this point in the history
  • Loading branch information
nolouch committed Jul 25, 2018
1 parent d957e40 commit dc60d3a
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
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
45 changes: 45 additions & 0 deletions tools/pd-recover.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: PD recover 使用文档
category: tools
---

# PD recover 使用文档

## PD recover 简介

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

## 源码编译

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

## 使用方法

### 参数说明

```
-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")
```

### 恢复流程

* 从当前集群中找到集群的 Cluster ID , Alloc ID。 一般 Cluster ID 可以从 PD,TiKV ,TiDB 的日志中都可以获取。已经分配
过的 Alloc ID 可以从 PD 日志获得 。另这也可以从 PD 的监控面板的 Metadata Information 监控项中获得。在指定 alloc-id 时
需指定一个比当前最大的 Alloc ID 更大的值,如果没有途径获取 Alloc ID,可以根据集群中的 Region,Store 数预估一个较大的数
,一般可取高几个数量级的数。
* 停止整个集群,清空 PD 数据目录,重启 PD 集群。
* 使用 PD recover 进行恢复,注意指定正确的 cluster-id 和合适的 alloc-id。
* 提示恢复成功后,重启整个集群。

0 comments on commit dc60d3a

Please sign in to comment.