2、ES Rally 安装

参考: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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容