【ES实战】在Linux下 CentOS 7离线安装Rally2.7.0
在Linux下 CentOS7离线安装Rally2.7.0
环境要求
Python3.8+ 官网下载地址
pip20.3+ 官网下载地址
git1.9+ 官网下载地址
pbzip2 官网下载地址
bzip2 官网下载地址
JDK 1.8 Oracle版下载地址
CentOS7系统需要升级openssl 官网下载地址
Python3.8需要升级setupools 官网下载地址
安装编译依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker;
Rally离线安装包官网下载地址,找到2.7.0版本,下载文件esrally-dist-linux-2.7.0.tar.gz
部署模式
Rally与ES分开部署
通过自定义用户esrally安装Python3.8+和Rally2.7.0,其他的在root用户下提前安装。
安装步骤
编译依赖部分
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker;
pbzip2部分
# 新建esrally用户与用户组 groupadd esrally useradd -g esrally esrally # 安装pbzip2 mkdir -p /home/esrally/software/pbzip2 tar -zxvf pbzip2-1.1.13.tar.gz cd pbzip2-1.1.13 make && make install PREFIX=/home/esrally/software/pbzip2
openssl 升级部分
openssl version tar -zxvf openssl-1.1.1s.tar.gz cd openssl-1.1.1s/ ./config --prefix=/usr/local/openssl make && make install mv /usr/bin/openssl /usr/bin/openssl.old mv /usr/include/openssl /usr/include/openssl.old ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl; ln -s /usr/local/openssl/include/openssl /usr/include/openssl echo "/usr/local/openssl/lib" >> /etc/ld.so.conf ldconfig
Python3.8部分
su - esrally mkdir -p software mkdir -p python exit # 为esrally安装python? tar -xvf /home/esrally/software/Python-3.8.16.tar.xz -C /home/esrally/software/python/ chown esrally:esrally -R /home/esrally/software/ su - esrally # 编译 Python-3.8.16 cd software/python/Python-3.8.16/ ./configure --prefix=/home/esrally/software/python/python3 # 安装python3 mkdir -p /home/esrally/software/python/python3 make && make install # 配置环境变量 vim ~/.bashrc; export PATH=$PATH:/home/esrally/software/python/python3/bin source ~/.bashrc; python3 --version# 升级setuptools python3方式 tar -zxvf setuptools-65.6.3.tar.gz cd setuptools-65.6.3/ python3 setup.py build python3 setup.py install pip3 show setuptools pip3 uninstall setuptools pip3 show setuptools
esrally部分
# 解压安装包 tar -xzf esrally-dist-linux-*.tar.gz -C /opt/software/ # 执行安装脚本 sudo ./opt/software/esrally-dist-linux-*/install.sh # 验证是否安装成功 esrally --version
安装错误小结
错误一,python没有成功编译,在安装编译依赖之后,重新安装编译安装Python3
subprocess.CalledProcessError: Command '['/home/esrally/software/python/Python-3.8.16/python', '-c', '\nimport runpy\nimport sys\nsys.path = [\'/tmp/tmpoe84zvss/setuptools-56.0.0-py3-none-any.whl\', \'/tmp/tmpoe84zvss/pip-22.0.4-py3-none-any.whl\'] + sys.path\nsys.argv[1:] = [\'install\', \'--no-cache-dir\', \'--no-index\', \'--find-links\', \'/tmp/tmpoe84zvss\', \'--root\', \'/\', \'--upgrade\', \'setuptools\', \'pip\']\nrunpy.run_module("pip", run_name="__main__", alter_sys=True)\n']' returned non-zero exit status 1.
make: *** [install] Error 1
错误二:gcc没有成功安装,需要yum安装
[esrally@~ pbzip2-1.1.13]$ make && make install PREFIX=/home/esrally/software/pbzip2
g++ -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_STACKSIZE_CUSTOMIZATION -pthread -D_POSIX_PTHREAD_SEMANTICS pbzip2.cpp BZ2StreamScanner.cpp ErrorContext.cpp -o pbzip2 -lbz2 -lpthread
make: g++: Command not found
make: *** [pbzip2] Error 127
yum install "gcc-c++.x86_64"
错误三:bzip2c没有成功安装,需要yum安装
[esrally@~ pbzip2-1.1.13]$ make && make install PREFIX=/home/esrally/software/pbzip2
g++ -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_STACKSIZE_CUSTOMIZATION -pthread -D_POSIX_PTHREAD_SEMANTICS pbzip2.cpp BZ2StreamScanner.cpp ErrorContext.cpp -o pbzip2 -lbz2 -lpthread
pbzip2.cpp:33:19: fatal error: bzlib.h: No such file or directory#include <bzlib.h>^
compilation terminated.
make: *** [pbzip2] Error 1
yum install bzip2-devel.x86_64
错误四:python中setuptools版本过低,需要单独升级
Processing ./esrally-dist-2.7.0/bin/py-cpuinfo-7.0.0.tar.gzPreparing metadata (setup.py) ... errorerror: subprocess-exited-with-error× python setup.py egg_info did not run successfully.│ exit code: 1╰─> [1 lines of output]ERROR: Can not execute `setup.py` since setuptools is not available in the build environment.[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed× Encountered error while generating package metadata.
╰─> See above for output.note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
tar -zxvf setuptools-65.6.3.tar.gzcd setuptools-65.6.3/
python3 setup.py build
python3 setup.py install
pip3 show setuptools
pip3 uninstall setuptools
pip3 show setuptools
错误五:缺少压缩集成包_bz2,这个可以从低版本中找到,然后修改文件名copy至python3.8安装目录lib-dynload下。
[esrally@~ software]$ esrally --version
Traceback (most recent call last):File "/home/esrally/software/python/python3/bin/esrally", line 5, in <module>from esrally.rally import mainFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/rally.py", line 31, in <module>from esrally import (File "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/actor.py", line 25, in <module>from esrally import exceptions, logFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/log.py", line 25, in <module>from esrally.utils import ioFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/utils/io.py", line 20, in <module>import bz2File "/home/esrally/software/python/python3/lib/python3.8/bz2.py", line 19, in <module>from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'
# 移动
mv _bz2.cpython-38-x86_64-linux-gnu.so /home/esrally/software/python/python3/lib/python3.8/lib-dynload/_bz2.cpython-38-x86_64-linux-gnu.so
# 赋权
chmod +x /home/esrally/software/python/python3/lib/python3.8/lib-dynload/_bz2.cpython-38-x86_64-linux-gnu.so
错误六:libbz2.so.1.0文件缺失,通过增加软链接的方式解决
[esrally@~ software]$ esrally --version
Traceback (most recent call last):File "/home/esrally/software/python/python3/bin/esrally", line 5, in <module>from esrally.rally import mainFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/rally.py", line 31, in <module>from esrally import (File "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/actor.py", line 25, in <module>from esrally import exceptions, logFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/log.py", line 25, in <module>from esrally.utils import ioFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/utils/io.py", line 20, in <module>import bz2File "/home/esrally/software/python/python3/lib/python3.8/bz2.py", line 19, in <module>from _bz2 import BZ2Compressor, BZ2Decompressor
ImportError: libbz2.so.1.0: cannot open shared object file: No such file or directory
ln -s /usr/lib64/libbz2.so.1.0.6 /usr/lib64/libbz2.so.1.0
错误七:openssl版本过低,需要对系统的openssl进行升级,并重新编译安装Python
[esrally@~ software]$ esrally --version
Traceback (most recent call last):File "/home/esrally/software/python/python3/bin/esrally", line 5, in <module>from esrally.rally import mainFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/rally.py", line 31, in <module>from esrally import (File "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/racecontrol.py", line 26, in <module>from esrally import (File "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/mechanic/__init__.py", line 19, in <module>from .mechanic import (File "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/mechanic/mechanic.py", line 30, in <module>from esrally.mechanic import launcher, provisioner, supplier, teamFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/esrally/mechanic/supplier.py", line 28, in <module>import dockerFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/docker/__init__.py", line 2, in <module>from .api import APIClientFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/docker/api/__init__.py", line 2, in <module>from .client import APIClientFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/docker/api/client.py", line 10, in <module>from .. import authFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/docker/auth.py", line 7, in <module>from .utils import configFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/docker/utils/__init__.py", line 3, in <module>from .decorators import check_resource, minimum_version, update_headersFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/docker/utils/decorators.py", line 4, in <module>from . import utilsFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/docker/utils/utils.py", line 16, in <module>from ..tls import TLSConfigFile "/home/esrally/software/python/python3/lib/python3.8/site-packages/docker/tls.py", line 2, in <module>import sslFile "/home/esrally/software/python/python3/lib/python3.8/ssl.py", line 98, in <module>import _ssl # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
openssl version
tar -zxvf openssl-1.1.1s.tar.gz
cd openssl-1.1.1s/
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl;
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfigpython3 -c "import sysconfig; print(sysconfig.get_config_var('CONFIG_ARGS'))" '--prefix=/usr/local/python3' '--with-openssl=/usr/local/openssl' '--enable-shared'# 重编译pythoncd software/python/Python-3.8.16/
./configure --prefix=/home/esrally/software/python/python3 --with-openssl=/usr/local/openssl --enable-shared
make && make install
错误八:缺少libssl.so.1.1包,可以在openssl安装目录下寻找,并copy至/usr/lib64文件夹中
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
find / -name *libssl.so.1.1ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
错误九:缺少libpython3.8.so.1.0包,可以在python目录下寻找,并copy至/usr/lib64文件夹中
find / -name libpython3.8.so.1.0
cp /opt/software/python/Python-3.8.16/libpython3.8.so.1.0 /usr/lib64/
卸载
pip3 install esrally
【ES实战】在Linux下 CentOS 7离线安装Rally2.7.0相关推荐
- 【OpenCV】在Linux下用CMAKE编译安装OpenCV3.2.0
[安装相关软件和库] 1.安装CMAKE:这里使用apt-get来安装; CMAKE 是一个跨平台编译工具,能够输出各种makefile,和project 文件,指导编译器编译,对CMAKE具体的可以 ...
- linux mysql解压完_【Linux】CentOS 7.4 安装 MySQL 8.0.12 解压版
安装环境/工具 1.Linux(CentOS 7.4版) 2.mysql-8.0.12-el7-x86_64.tar.gz 安装步骤 1.下载mysql解压版(mysql-8.0.12-el7-x86 ...
- 「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四)
原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker爬虫技术-在linux下mitmproxy介绍和安装(四) 上次说了fiddl ...
- Linux 下 微擎 的安装使用
Linux 下 微擎 的安装使用 我的小站.Github 微擎 是一款基于WEB2.0(PHP+Mysql)技术架构,免费开源的公众平台管理系统,提供公众号.微信小程序.支付宝小程序.百度熊掌号.移动 ...
- mysql5.7.20linux安装,linux下 mysql5.7.20安装(精华)
在linux 系统中mysql配置文件的读取顺序为: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 第一步 创 ...
- linux eclipse插件安装,Linux 下 EclipseME 插件的安装步骤
Linux 下 EclipseME 插件的安装步骤 最近在linux下作开发,参考网络资料,成功将 eclipseME 插件安装至 eclipse.这里记录下来,只为了方便更多的人! 背景: linu ...
- Linux 下的 pstack 工具安装及简单应用
作者 | JiekeXu 来源 | JiekeXu之路(ID: JiekeXu_IT) 转载请联系授权 | (微信ID:xxq1426321293) 大家好,我是 JiekeXu,很高兴又和大家见面了 ...
- Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录
Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录 安装需求 准备工作 Python及其依赖项 libffi glibc GDBM mpdecimal bz2 xz re ...
- linux mysql5.7.36 离线安装使用全教程(含安装包)
linux mysql5.7.36 离线安装使用全教程(含安装包) 大家好,我是酷酷的韩~ 1.前期准备: mysql版本5.7.36 百度网盘下载地址如下: 内含 mysql-5.7.36-linu ...
最新文章
- 《机器学习实践》程序清单2-2
- Ubuntu~Tensorflow~GPU
- C#获得枚举类型的长度
- HDOJ5547 SudoKu
- html自定义js程序,JS中微信小程序自定义底部弹出框
- jquery关于checkbox在ie下的一个bug
- 做柜员还是程序员_应届生放弃互联网大厂回家乡银行:程序员五万比不上柜员五千...
- java 僵尸进程_Linux 僵尸进程
- crmeb多商户二开crmeb类库二开文档services服务类【5】
- plist 文件详解
- 从四面体数据中提取表面
- Ubuntu菜鸟入门(七)—— 微信安装
- 二阶系统的单位阶跃响应与比例控制器
- 【小疯疯】百度云不限速下载
- 输出字符串中匹配最多的括号数
- eBay Inc(EBAY)2020年第三季度收益电话会议记录
- 关于电气工程及其自动化学科,国家电网的这些事你都知道吗?
- 用SQL语句向数据库添加date类型字段
- 华云数据打造企业社会责任践行范本
- Jarvis oj level3
热门文章
- 制作一个浪漫温馨的生日礼物送她~html+css+javascript蓝色梦幻海洋3D相册(含音乐)...
- 数据点太多matlab曲线较粗,matlab数据太多怎么拟合曲线
- 【刷题】——小红书三套卷
- 几招搞定Windows 7累计补丁包的安装
- 微软认证一览表(附图)
- 基于大数据的情报分析与服务系统架构设计
- html 按钮位于div底部,css按钮定位在div底部
- Java101班1组作业完成情况
- 2008 r2服务器日志文件,Windows2008R2共享文件访问日志查询的设置方法
- ESP分区和MSR分区是干嘛的?