【问题澄清】
- 使用
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 版本