2、ES Rally 安装

作者: MasonChan | 来源:发表于2019-12-10 17:22 被阅读0次

    参考:Docs » Installation

    需要安装:

    • CentOS6+
    • Python3.5+
      • openssl-devel-1.0.1+
      • glibc2.17+
    • esrally (a Python module)
    • Git1.9+

    为了方便打包移植,所以使用编译安装的方式来进行部署。

    INSTALL_HOME=/apps/svr/esrally
    GIT_HOME=$INSTALL_HOME/git-1.9
    GLIBC_HOME=$INSTALL_HOME/glibc-2.17
    OPENSSL_HOME=$INSTALL_HOME/openssl-1.1.1c
    PYTHON3_HOME=$INSTALL_HOME/python-3.5.2
    
    

    安装 Python3.5+【必选】

    Rally 是使用 Python3 编写的,必须安装 Python3.5+。

    1、编译安装 glibc【必选】

    选择 CentOS7 默认版最好,不要使用太新的版本,否则要编译很多新版工具,例如 gcc、make、cmake 等等

    wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
    tar -zxf glibc-2.14.tar.gz
    
    # 不能在 glibc-2.xx 目录编译,所以需要新建一个空目录
    mkdir build
    cd build
    ../glibc-2.14/configure --prefix=/apps/svr/esrally/glibc-2.14
    make -j $(grep -c ^process /proc/cpuinfo)
    make install
    
    

    2、编译安装 openssl【可选】

    Rally 默认通过 https 去下载 github 的 tracks 配置,所以需要 Python 支持 SSL。如果手动下载,则可直接跳过。

    Python3 与 OpenSSL 版本对应关系:

    • Python3.5.2 需要 openssl-devel-1.0.1(CentOS6/7 最新版是 1.0.1e)
    • Python3.7.2 需要 openssl-devel-1.0.2 or 1.1+(CentOS6/7 需要手动编译安装)

    编译安装 openssl-devel-1.0.1e

    # 浏览器下载最新版源码
    https://www.openssl.org/source/openssl-1.1.1c.tar.gz
    # 编译
    tar -zxf openssl-1.1.1c.tar.gz
    cd openssl-1.1.1c
    ./config --prefix=$OPENSSL_HOME
    make -j $(grep -c ^process /proc/cpuinfo)
    # 安装
    make install
    
    

    安装 Python3,缺少 ssl 对应的版本时,make 编译失败会提示:

    Could not build the ssl module!
    Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().
    LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381
    
    

    3、编译安装 Python3【必选】

    CentOS6/7 的 YUM repo 只有 Python2.7,Python3 需要进行编译安装

    # 编译
    #yum install sqlite-devel openssl-devel bzip2-devel
    yum install bzip2-devel
    #export CPPFLAGS="-I$OPENSSL_HOME"
    export LD_LIBRARY_PATH=$OPENSSL_HOME/lib:$OPENSSL_HOME/lib:$LD_LIBRARY_PATH
    
    wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
    tar -zxf Python-3.5.2.tgz
    cd Python-3.5.2
    ./configure --prefix=$PYTHON3_HOME
    make -j $(grep -c ^process /proc/cpuinfo)
    # 安装
    make install
    
    # 验收
    export PATH=$PYTHON3_HOME/bin:$PATH
    which python3
    
    

    请注意:bin/python 特指 Python2,bin/python3 特指 Python3;pip 与 pip3 同理

    如果 python3 -m ssl 提示没有 ssl 模块,则需要安装:

    pip3 install ssl

    如果需要重新编译 Python3,则需要先清理文件

    # 清理编译文件
    make clean
    make distclean
    # 删除安装目录
    rm -rf $PYTHON3_HOME
    
    

    安装 Rally【必选】

    使用国内 pip repo 加快 install 速度

    mkdir -p ~/.pip
    cat > ~/.pip/pip.conf << EOF
    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/
    
    [install]
    trusted-host=mirrors.aliyun.com
    EOF
    
    

    pip3 install esrally

    安装 Git1.9+【必选】

    esrally 默认使用 git1.9+ 去 github 下载 tracks 配置;在执行 esrally 命令时,每次都会检查 git 的版本,所以必须安装。

    CentOS6/7 的 YUM repo 默认只有 git1.8,所以需要编译安装

    yum install curl-devel expat-devel perl-ExtUtils-MakeMaker
    wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
    tar -zxf git-2.9.5.tar.gz
    cd git-2.9.5
    ./configure --prefix=$GIT_HOME
    make -j $(grep -c ^process /proc/cpuinfo) all
    make install
    
    export PATH=$GIT_HOME/bin:$GIT_HOME/libexec/git-core:$PATH
    
    # 验证
    which git
    git --version
    
    

    安装 JDK12【可选】

    使用默认配置时,Rally 会在本机创建一个 ES 实例,对齐进行压测,这时指定使用 JDK12 运行 ES 实例(不推荐)。如果压测的是已存在的 ES 集群,则无需安装(推荐)

    JDK12 下载页面

    tar -zxf jdk-12.0.1_linux-x64_bin.tar.gz -C /apps/svr/
    export PATH=/apps/svr/jdk-12.0.1/bin:$PATH
    
    which java
    java -version
    
    

    更新系统证书【可选】

    脚本 ~/.rally/benchmarks/tracks/default/download.sh 的 curl 命令使用 https,但是 CentOS 默认的证书都很旧的,跑 curl 时会提示证书太旧,导致执行失败,需要更新系统证书:

    sudo update-ca-trust
    ll -tr /etc/pki/ca-trust/extracted/pem/
    
    # 验证
    curl https://github.com
    
    

    参考:http://www.lovean.com/view-89-118022-0.html

    相关文章

      网友评论

        本文标题:2、ES Rally 安装

        本文链接:https://www.haomeiwen.com/subject/upbggctx.html