1.使用Python2部署TIDB报错
ansible-playbook deploy.yml
.............................................
TASK [check_config_static : Check inventory configuration] ***************************************************************************************************************************************
fatal: [localhost]: FAILED! => changed=true
cmd: python2 /tidb/tidb-ansible-4.0.7/scripts/inventory_check.py /tidb/tidb-ansible-4.0.7/inventory.ini
delta: '0:00:00.135691'
end: '2024-08-15 13:31:46.964324'
msg: non-zero return code
rc: 1
start: '2024-08-15 13:31:46.828633'
stderr: |-
Traceback (most recent call last):
File "/tidb/tidb-ansible-4.0.7/scripts/inventory_check.py", line 5, in <module>
from ansible.vars.manager import VariableManager
ImportError: No module named ansible.vars.manager
stderr_lines:
- 'Traceback (most recent call last):'
- ' File "/tidb/tidb-ansible-4.0.7/scripts/inventory_check.py", line 5, in <module>'
- ' from ansible.vars.manager import VariableManager'
- 'ImportError: No module named ansible.vars.manager'
stdout: ''
stdout_lines: <omitted>
2.原因分析
我在python2种没有安装 ansible,而是在python3 中安装了ansible, 默认的程序使用python2 进行部署。没有组件 :ansible.vars.manager
3.解决方法。
使用python3 部署tidb ;
mv /bin/python2 /bin/python2.bak
cp /bin/python3 /bin/python2
--重新部署。
ansible-playbook deploy.yml