为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】
TiDB v2.1.19
【问题描述】
生产环境准备做修改IP操作,虚机模式时发现,使用 ansible 部署 TiDB 2.1.19 在安装 ansible 依赖环境时出现错误 ImportError: No module named setuptools_rust
操作步骤参考 官网文档-ansible 离线部署 ,之前我使用 ansible 安装过 3 版本并未出现问题,而且这还是安装依赖阶段,按理说不应该出错,求解?
尝试如下:
-
尝试过在线安装,同样报错,放弃;
-
pip install --upgrade pip 升级 pip 后,会报 ansible sys.stderr.write(f"ERROR: {exc}") ,放弃;
-
尝试取 github 下载 setuptools-rust 手动 build,发现好像只能用 python3 去build,相关步骤如下,而且官网的步骤 python 依赖的是 python 2.7,所以未继续尝试,放弃;
[tidb@localhost setuptools-rust]$ python3 setup.py install --user Traceback (most recent call last): File "setup.py", line 6, in <module> setup() ...... ...... File "/home/tidb/setuptools-rust/setuptools_rust/utils.py", line 6, in <module> import semantic_version ModuleNotFoundError: No module named 'semantic_version'
-
操作系统环境
[tidb@localhost ~]$ cat /etc/*leas* |grep NAME NAME="CentOS Linux" PRETTY_NAME="CentOS Linux 7 (Core)" CPE_NAME="cpe:/o:centos:centos:7" [tidb@localhost ~]$ uname -a Linux localhost.localdomain 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
-
依据官网步骤执行如下:
tar -xzvf ansible-system-rpms.el7.tar.gz chmod u+x install_ansible_system_rpms.sh && ./install_ansible_system_rpms.sh pip -V pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7) visudo tidb ALL=(ALL) NOPASSWD: ALL # !!!此步骤后直接报错!!!! [tidb@localhost tidb-ansible]$ sudo pip install -r ./requirements.txt Collecting ansible<2.7.0,>=2.4.2 (from -r ./requirements.txt (line 1)) Downloading https://files.pythonhosted.org/packages/b1/da/6c8f2daff9b776a85eff1ab1ac9bbf3bc67f9e55fa616b4d45dab76fef90/ansible-2.6.20.tar.gz (10.8MB) 100% |████████████████████████████████| 10.8MB 141kB/s Collecting jinja2>=2.9.6 (from -r ./requirements.txt (line 2)) Downloading https://files.pythonhosted.org/packages/7e/c2/1eece8c95ddbc9b1aeb64f5783a9e07a286de42191b7204d67b7496ddf35/Jinja2-2.11.3-py2.py3-none-any.whl (125kB) 100% |████████████████████████████████| 133kB 2.6MB/s Collecting jmespath>=0.9.0 (from -r ./requirements.txt (line 3)) Downloading https://files.pythonhosted.org/packages/07/cb/5f001272b6faeb23c1c9e0acc04d48eaaf5c862c17709d20e3469c6e0139/jmespath-0.10.0-py2.py3-none-any.whl Collecting PyYAML (from ansible<2.7.0,>=2.4.2->-r ./requirements.txt (line 1)) Downloading https://files.pythonhosted.org/packages/ba/d4/3cf562876e0cda0405e65d351b835077ab13990e5b92912ef2bf1a2280e0/PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl (574kB) 100% |████████████████████████████████| 583kB 1.6MB/s Collecting paramiko (from ansible<2.7.0,>=2.4.2->-r ./requirements.txt (line 1)) Downloading https://files.pythonhosted.org/packages/95/19/124e9287b43e6ff3ebb9cdea3e5e8e88475a873c05ccdf8b7e20d2c4201e/paramiko-2.7.2-py2.py3-none-any.whl (206kB) 100% |████████████████████████████████| 215kB 3.4MB/s Collecting cryptography (from ansible<2.7.0,>=2.4.2->-r ./requirements.txt (line 1)) Downloading https://files.pythonhosted.org/packages/fa/2d/2154d8cb773064570f48ec0b60258a4522490fcb115a6c7c9423482ca993/cryptography-3.4.6.tar.gz (546kB) 100% |████████████████████████████████| 552kB 2.0MB/s Complete output from command python setup.py egg_info: =============================DEBUG ASSISTANCE========================== If you are seeing an error here please try the following to successfully install cryptography: Upgrade to the latest pip and try again. This will fix errors for most users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip =============================DEBUG ASSISTANCE========================== Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-build-IKFaNk/cryptography/setup.py", line 14, in <module> from setuptools_rust import RustExtension ImportError: No module named setuptools_rust ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-IKFaNk/cryptography/ You are using pip version 8.1.2, however version 21.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. [tidb@localhost tidb-ansible]$ pip install -r setuptools-rust setuptools wheel Could not open requirements file: [Errno 2] No such file or directory: 'setuptools-rust' You are using pip version 8.1.2, however version 21.0.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
感觉我操作并未出错,且之前有成功案例, TIDB 官方已经不维护 ansible 了,是不是官网的操作步骤不适用现在情况了?这种情况如何解决?
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。