部署,参考https://pingcap.com/docs-cn/op-guide/ansible-deployment/
# yum -y install epel-release git curl sshpass
# yum -y install python-pip
生成密码:ssh-keygen -t rsa
准备hosts.ini文件
下载2.1.6 安装包:git clone -b v2.1.6 https://github.com/pingcap/tidb-ansible.git tidb-ansible-v2.1.6
安装tidb账号:
cd /data/tidb-ansible-v2.1.6
[tidb@10-9-73-242 tidb-ansible-v2.1.6]$
ansible-playbook -i hosts.ini create_users.yml -u root -k
备份:cp inventory.ini inventory.ini.default
配置参数文件:vim inventory.ini
验证:
ansible -i inventory.ini all -m shell -a 'whoami'
ansible -i inventory.ini all -m shell -a 'whoami' -b
部署ntp服务:
ansible-playbook -i hosts.ini deploy_ntp.yml -u tidb -b
修改配置参数地址:
roles/check_system_optional/defaults/main.yml
roles/machine_benchmark/defaults/main.yml
开始部署:
ansible-playbook -i hosts.ini deploy_ntp.yml -u tidb -b
执行以下命令如果所有 server 返回 tidb 表示 ssh 互信配置成功。
ansible -i inventory.ini all -m shell -a 'whoami'
执行以下命令如果所有 server 返回 root 表示 tidb 用户 sudo 免密码配置成功。
ansible -i inventory.ini all -m shell -a 'whoami' -b
执行 local_prepare.yml playbook,联网下载 TiDB binary 到中控机:
ansible-playbook local_prepare.yml
初始化系统环境,修改内核参数
ansible-playbook bootstrap.yml
部署 TiDB 集群软件
ansible-playbook deploy.yml
注:Grafana Dashboard 上的 Report 按钮可用来生成 PDF 文件,此功能依赖 fontconfig 包和英文字体。如需使用该功能,登录 grafana_servers 机器,用以下命令安装:
$ sudo yum install fontconfig open-sans-fonts
启动 TiDB 集群
ansible-playbook start.yml
进入 role/,修改配置限制
roles/check_system_optional/defaults/main.yml
roles/machine_benchmark/defaults/main.yml
https://github.com/pingcap/tidb/issues/8784 我们这开了个issue时间比较久了, pingcap的同事能不能帮忙推进一下
检测:
安装客户端:
sudo yum install -y mysql
sudo yum install -y sysbench
登录新安装的tidb集群:
mysql -h 10.9.92.242 -uroot -p -P4000
[tidb@10-9-73-242 tidb-ansible-v2.1.6]$ mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) [tidb@10-9-73-242 tidb-ansible-v2.1.6]$ mysql -h 10.9.92.242 -uroot -p -P4000 Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 11 Server version: 5.7.25-TiDB-v2.1.6 MySQL Community Server (Apache License 2.0)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> show databases; +--------------------+ | Database | +--------------------+ | INFORMATION_SCHEMA | | PERFORMANCE_SCHEMA | | mysql | | test | +--------------------+ 4 rows in set (0.01 sec)
MySQL [(none)]> |
集群升级到2.1.7
git clone -b v2.1.7 https://github.com/pingcap/tidb-ansible.git tidb-ansible-v2.1.7
mv ...
cp ../tidb-ansible-v2.1.6/inventory.ini .
vim inventory.ini
ansible-playbook local_prepare.yml
ansible-playbook rolling_update.yml
#习惯性检查下tidb版本 ../resources/bin/tidb-server -V