【问题澄清】
- 使用
tidb-ansible部署且启动方式为supervise的TiDB集群在import到TiUP时会出现如下报错:
“Error: only support cluster deployed with systemd”
【解决方案】
目前仅支持 systemd 方式启动的 ansible 环境可以 import 至 TiUP,非 systemd 方式在导入时会出现上面报错,因此需要修改启动方式:supervise -> systemd。
【具体步骤】
- 针对
tidb-server&tikv-server执行:
ansible-playbook stop.yml -l alias_name
注: 如果 inventory.ini 中为节点配置了别名,如 node101 ansible_host=172.16.10.101 ,执行 ansible-playbook 时 -l 请指定别名,以下步骤类似,比如 ansible-playbook stop.yml -l node101,没有指定别名且单机单实例使用 ansible-playbook stop.yml -l ${ip},对于一个机器部署不同组件,使用 ansible-playbook stop.yml -l ${ip} --tags=${组件名称}。
- 在每次
stop节点之后,对inventory文件进行修改
process_supervision = systemd
修改完成之后执行
ansible-playbook deploy.yml -l alias_name
ansible-playbook start.yml -l alias_name
- 针对
PD组件,先修改非leader节点,然后进行leader transfer,最后进行leader节点修改
(1)非 leader 节点,参考 2 ,注意在 deploy 之前修改 supervise -> systemd
ansible-playbook stop.yml -l alias_name
ansible-playbook deploy.yml -l alias_name
ansible-playbook start.yml -l alias_name
(2)transfer leader 以及检查其他节点状态
-
pd-ctl member leader transfer leader_name -
pd-ctl member -
pd-ctl health
都正常进行下一步
(3)修改 pd leader 启动方式,参考如上步骤
ansible-playbook stop.yml -l leader_name
ansible-playbook deploy.yml -l leader_name
ansible-playbook start.yml -l leader_name
(4)如有异常,根据报错处理
- 执行
import操作
注:以上处理过程不支持 2.x 版本