干货:Elasticsearch 压测工具之 esrally的安装与使用(上)
- 2020 年 3 月 4 日
- 筆記
前言|
Elasticsearch 作为现今非常流行的存储搜索分析平台从而被各大公司所应用。那么企业在部署ES应用的时候怎么知道公司集群的性能如何呢?Elastic官方推荐了一款工具,Esrally— ES的性能测试工具,更多详细的关于它的介绍,我就不赘述啦,网上一大把. 下面直接上干货,手把手带你安装Esrally
一、Esrally安装:
1,安装条件:
<1>. 安装Python3.5及以上版本,系统默认可能是2.x版本,
<2>. 安装git1.9及以上版本
<3>. JDK 1.8+ (下载解压、配置环境变量即可)
2,安装过程如下:
<1>. CentOS 7.6 安装Python3.7
默认情况下,linux的python安装包是Py2.7.这个时候先不要卸掉2.7,我们暂时来安装Python3,因为,等会我们要使用PIP3命令来安装esrally工具,这个PIP3是Python3下的执行脚本。
第一步: 安装开发者工具
yum -y groupinstall "Development Tools"
第二步:安装Python编译依赖包
yum -y install openssl-devel zlib-devel bzip2-devel sqlite-devel readline-devel libffi-devel systemtap-sdt-devel
第三步:下载安装包
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
第四步: 解压&编译
tar zvxf Python-3.7.0.tgz -C /usr/local/ ———- 解压到指定目录
cd Python-3.7.0
./configure –prefix=/usr/local/python3.7 ———- 检查环境
make —– 编译
make install — 编译安装
第五步:编译完成后,创建软链接文件到执行文件路径
ln -s /usr/local/python3.7/bin/python3 /usr/bin/python3
ln -s /usr/local/python3.7/bin/pip3 /usr/bin/pip3
第六步: 为了保证python3.7下的安装生效,我们跟安装JDK一样,配置一下环境变量 添加进 /etc/pfofile 全局变量下:
export PYTHON37_HOME=/usr/local/python3.7
export PATH=${PYTHON37_HOME}/bin:${PATH}
source /etc/pfofile
第七步:验证一下是否成功

<2>. CentOS 7.6 安装GIT2.5.5
centos7系统默认的git安装版本是1.8,但是在项目构建中发现git版本过低,于是用源码编译的方式进行升级.步骤如下:
第一步:卸载低版本GIT
yum remove git
第二步:安装相关依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install gcc perl-ExtUtils-MakeMaker
第三步: 安装git 2.5.5 可以通获取下面的链接有各种版本
https://mirrors.edge.kernel.org/pub/software/scm/git/
第四步:解压、安装
tar -xzvf v2.5.5.tar.gz cd git-2.5.5
./configure –prefix=/usr/local/git –with-openssl=/usr/local/openssl
sudo make && make install
第五步:配置GIT的环境变量 到 /etc/profile
export GIT_HOME=/usr/local/git-2.5.5
export PATH=$PATH:$GIT_HOME
source /etc/pfofile
第六步:验证GIT版本 使用 git –version 查看GIT版本

在看一下,环境变量经过梳理后的截图:

3,安装Esrally 工具
注意:前面的2个基础条件安装完后,我们才能继续安装Esrally,否则,该工具不会成功。
第一步:使用pip3 安装 pip3 install esrally 过程有点长,耐心等待
第二步:安装完毕后执行如下的配置命令,确认一些数据存放的路径即可
注意:有坑!!
esrally命令不会自动加入了环境变量!, 这里我安装好了命令路径在/usr/local/python3.7/bin目录下,esrally命令都在此目录下。需要这么执行:
./esrally configure ——————> 会检测jdk、gradle一系列安装是否成功,这里会让输入jdk的安装路径

Esrally 配置文件目录如下:

第三步:接下来就可以开跑了,比如下面这条命令是针对 es 6.8.2 版本进行压力测试。执行如下命令:
./esrally –distribution-version=6.8.2 发现有报错

注意:这里有两点要提一下:
1,由于 esrally 的测试数据存储在国外 aws 上,导致下载很慢甚至会超时失败,从而导致整个压测无法进行。
2,ES6以后不允许root启动启动,所以,Esrally我们也要用普通用户去测试,否则会报错,报错信息如上图所示。
3,另外由于数据量过大,压测的时间一般会很久,可能在1个小时左右。
那么到此为止,我们的ES测试工具Esrally就陆陆续续搭建成功,这个过程,出现的问题,比较多,我这边文章是经过多次梳理后总结的。一般按照我这个流程来装不会有太大的问题。
二、总结
本节主要介绍了一下ES 压测工具的实际安装与简单测试,下一节,我们就拿真实的ES集群数据来进行压力测试。