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

add upgrade guide #708

Merged
merged 3 commits into from
Apr 28, 2018
Merged
Changes from all 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
84 changes: 84 additions & 0 deletions op-guide/upgrade-from-v1-to-v2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: 从 TiDB 1.0 升级到 2.0 操作指南
category: deployment
---

# 从 TiDB 1.0 升级到 2.0 操作指南

## 在中控机器上安装 Ansible 及其依赖

TiDB-Ansible release-2.0 版本依赖 Ansible 2.4.2 及以上版本,兼容最新的 Ansible 2.5 版本,另依赖 Python 模块: jinja2>=2.9.6 和 jmespath>=0.9.0 。为方便管理依赖,新版本使用 pip 安装 Ansible 及其依赖, 请参照[在中控机器上安装 Ansible 及其依赖](https://github.com/pingcap/docs-cn/blob/master/op-guide/ansible-deployment.md#在中控机器上安装-ansible-及其依赖) 安装。离线环境请参照[在中控机器上离线安装 Ansible 及其依赖](https://github.com/pingcap/docs-cn/blob/master/op-guide/offline-ansible-deployment.md#在中控机器上离线安装-ansible-及其依赖) 。

安装完成后,可通过以下命令查看版本:

```
$ ansible --version
ansible 2.5.2
$ pip show jinja2
Name: Jinja2
Version: 2.9.6
$ pip show jmespath
Name: jmespath
Version: 0.9.0
```

## 在中控机器上下载 TiDB-Ansible

以 `tidb` 用户登录中控机并进入 `/home/tidb` 目录

备份 tidb-ansible release-1.0 分支文件夹:

```
$ mv tidb-ansible tidb-ansible-bak
```

下载最新 tidb-ansible release-2.0 分支,默认的文件夹名称为 `tidb-ansible`。

```
$ git clone -b release-2.0 https://github.com/pingcap/tidb-ansible.git
```

## 编辑 inventory.ini 文件和配置文件

以 `tidb` 用户登录中控机并进入 `/home/tidb/tidb-ansible` 目录。

编辑 `inventory.ini` 文件,IP 信息参照备份文件 `/home/tidb/tidb-ansible-bak/inventory.ini`。

如之前自定义过 TiDB 集群组件配置,请参照备份文件修改 `/home/tidb/tidb-ansible/conf` 下对应配置文件。

## 下载 TiDB 2.0 binary 到中控机

确认 `tidb-ansible/inventory.ini` 文件中 `tidb_version = v2.0.0`, 然后执行以下命令下载 TiDB 2.0 binary 到中控机。

```
$ ansible-playbook local_prepare.yml
```

## 滚动升级 TiDB 集群组件

```
$ ansible-playbook rolling_update.yml
```

## 滚动升级 TiDB 监控组件

为满足客户监控组件混布需求,监控组件 systemd service 开始按端口区分。

查看 `inventory.ini` 文件中 `process_supervision` 变量:

```
# process supervision, [systemd, supervise]
process_supervision = systemd
```

如果 `process_supervision = systemd`, 为兼容之前的版本,你需要执行 `migrate_monitor.yml` Playbook。

```
$ ansible-playbook migrate_monitor.yml
```

滚动升级 TiDB 监控组件:

```
$ ansible-playbook rolling_update_monitor.yml
```