1.检查ansible版本,正常情况下,2.1 rc3需要兼容ansible 2.5以上的版本

$ ansible --version

2.检查python两个模块jinja2需要升级到2.9.6或以上版本,jmespath需要升级到0.9.0以上版本

wget https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.9.6.tar.gz

pip uninstall jinja2

tar vxf Jinja2-2.9.6.tar.gz

cd Jinja2-2.9.6

python setup.py install

3.升级

su - tidb

cd /home/tidb/

$ mv tidb-ansible tidb-ansible-bak

下载tidb最新版本2.1 rc3 (自行下载或者直接linux下载,所谓的离线升级就是在其他机器上,将这个下载好,并且执行ansible-playbook local_prepare.yml,提前将tidb binary下载到downloads目录) 

https://github.com/pingcap/tidb-ansible

上传到/hone/tidb并解压

 cd  /home/tidb/tidb-ansible/conf

vi tikv.yml

修改 end-point-concurrency 变更为 high-concurrencynormal-concurrency 和 low-concurrency

 值推荐设置成机器物理cpu*0.8(默认应该就是这个配置)

vi tidb-ansible/inventory.ini  确认  tidb_version = v2.1-rc.3

执行下载 binary  $ ansible-playbook local_prepare.yml

进行滚动升级   $ ansible-playbook rolling_update.yml

vi inventory.ini 检查文件中 process_supervision 变量:

process_supervision = systemd

如果 process_supervision = systemd,为兼容 v2.0.0-rc.6 之前的版本,你需要执行 migrate_monitor.yml Playbook。如果 process_supervision = supervise,此步骤不需要执行。
$ ansible-playbook migrate_monitor.yml

滚动升级tidb 监控组件
$ ansible-playbook rolling_update_monitor.yml
05-11 13:18