elasticsearch压力测试工具之ESrally
小白elasticsearch压力测试工具之ESrally安装和使用
一、Esrally安装
1.安装条件:
<1>.安装Python3.5及以上版本,系统默认可能是2.x版本(配置环境变量)
<2>.安装git1.9及以上版本(配置环境变量)
<3>.JDK 1.8+ (配置环境变量)
2.安装过程如下:(我的运行环境是CentOs 7 64位)在root目录下执行
<1>.安装Python3.7
第一步: 安装开发者工具
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 /usr/local/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/pip
第六步:配置环境变量,
执行 vim /etc/profile
vim /etc/profile
在最后加上下面两句
export PYTHON_HOME=/usr/local/python3.7
export PATH=$PATH:${PYTHON_HOME}/bin
:wq保存后,执行 source /etc/profile 更新
source /etc/profile
第七步:验证
执行 echo $PYTHON_HOME 输出 /usr/local/python3.7 说明环境变量配置成功
执行 python3,进入到python运行环境,说明python3 安装成功
echo $PYTHON_HOME
python3
<2>.安装GIT2.5.5
第一步:卸载低版本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 -C /usr/local/
cd /usr/local/git-2.5.5
./configure --prefix=/usr/local/git --with-openssl=/usr/local/openssl
sudo make && make install
第五步:配置GIT的环境变量
执行 vim /etc/profile
vim /etc/profile
在最后加上下面两句
export GIT_HOME=/usr/local/git-2.5.5
export PATH=$PATH:$GIT_HOME
:wq保存后,执行 source /etc/profile 更新
source /etc/profile
第六步:验证GIT版本
执行 echo $GIT_HOME 输出 /usr/local/git-2.5.5 说明环境变量配置成功
echo $GIT_HOME
执行 git --version,输出git version 2.5.5,说明git安装成功
git --version
<3>.安装jdk1.8
第一步:首先查询当前本机可安装的所有JDK的版本。看看是否有1.8版本
执行 yum -y list java* ,如果有java-1.8.0-openjdk.x86_64则说明有1.8版本。
yum -y list java*

第二步:执行命令安装,默认安装在/usr/lib/jvm下
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
第三步:执行 java -version,输出对应版本信息,说明安装成功
java -version
第四步:配置环境变量
执行whereis java找到jdk1.8安装目录
whereis java

执行 vim /etc/profile 在最后加上下面两句
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:
:wq保存后,执行 source /etc/profile 更新
source /etc/profile
第五步:验证
执行 echo $JAVA_HOME 输出安装路径就说明安装成功。
echo $JAVA_HOME

<4>.安装Esrally 工具
注意,esrally不能在root下执行,不然各种报错.所以要切换登录用户
执行 cd /usr/local/python3.7/bin,进入到python目录下执行pip3 install esrally,
如果安装不成功,就执行 python3 -m pip install esrally 。
还是安装不成功的话,就选择离线安装。
(我这边不清楚什么问题,反正在线安装一直报错。就直接离线安装了)
离线安装步骤:
第一步:下载安装包
我这里下载的最新版本:esrally-dist-linux-2.8.0.tar.gz
https://github.com/elastic/rally/releases/?spm=a2c6h.12873639.article-detail.8.2dce1075A6WlsW
第二步:解压
tar -zxvf esrally-dist-linux-2.8.0.tar.gz -C /usr/local/
第三步:安装
cd /usr/local/esrally-dist-2.8.0
./install.sh
第四步:验证 执行 esrally --version 输出对应版本信息,说明安装成功
esrally --version

二、esrally使用(不能在root下执行)
地名(Geonames):用于评估结构化数据的性能。
地理点(Geopoint):用于评估地理查询的性能。
渗滤器(Percolator):用于评估渗滤查询的性能。
PMC(PMC):用于评估全文搜索的性能。
NYC taxis(NYC_taxis):用于评估高度结构化数据的性能。
嵌套(nested):用于评估嵌套文档的性能。
日志记录(Logging):用于评估(Web)服务器日志的性能。
noaa(noaa):用于评估靶场的性能。
因为为在线测试各种报错,所以使用离线测试。离线测试需要提前下载需要的测试环境包。
1.下载
http://benchmarks.elasticsearch.org.s3.amazonaws.com/corpora/geonames/documents-2.json.bz2
2./home/user01/.rally下创建文件夹
cd /home/user01/.rally
mkdir /home/user01/.rally/benchmarks
mkdir /home/user01/.rally/benchmarks/data
mkdir /home/user01/.rally/benchmarks/data/geonames
mkdir /home/user01/.rally/benchmarks/data/geopoint
mkdir /home/user01/.rally/benchmarks/data/logging
mkdir /home/user01/.rally/benchmarks/teams
mkdir /home/user01/.rally/benchmarks/teams/default
mkdir /home/user01/.rally/benchmarks/tracks
mkdir /home/user01/.rally/benchmarks/tracks/default
把documents-2.json.bz2 放到 geonames目录下
mv documents-2.json.bz2 /home/user01/.rally/benchmarks/data/geonames/
3.测试
Elasticsearch版本测试
esrally race --offline --pipeline=from-distribution --distribution-version=7.6.0 --track=geonames
Elasticsearch集群测试,执行target-hosts 逗号连接多个配置
esrally race --track-path=/root/track/logging --offline --pipeline=benchmark-only --target-hosts=192.168.1.20:9200
参考:
[1]干货:Elasticsearch 压测工具之 esrally的安装与使用(上)
[2]Elasticsearch压测工具esrally使用笔记
更多推荐
所有评论(0)