前言 |
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
第四步: 解压 & 编译
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
第七步: 验证一下是否成功
Python3 验证
<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 版本
Git 版本
在看一下, 环境变量经过梳理后的截图:
本机环境变量
3, 安装 Esrally 工具
注意: 前面的 2 个基础条件安装完后, 我们才能继续安装 Esrally, 否则, 该工具不会成功.
第一步: 使用 pip3 安装 pip3 install esrally 过程有点长, 耐心等待
第二步: 安装完毕后执行如下的配置命令, 确认一些数据存放的路径即可
注意: 有坑!!
esrally 命令不会自动加入了环境变量!, 这里我安装好了命令路径在 / usr/local/python3.7/bin 目录下, esrally 命令都在此目录下. 需要这么执行:
./esrally configure ------------------> 会检测 jdk,gradle 一系列安装是否成功, 这里会让输入 jdk 的安装路径
Esrally 配置文件目录如下:
rally.INI 配置文件
第三步: 接下来就可以开跑了, 比如下面这条命令是针对 es 6.8.2 版本进行压力测试. 执行如下命令:
./esrally --distribution-version=6.8.2 发现有报错
esrally 测试 ES
注意: 这里有两点要提一下:
1, 由于 esrally 的测试数据存储在国外 AWS 上, 导致下载很慢甚至会超时失败, 从而导致整个压测无法进行.
2,ES6 以后不允许 root 启动启动, 所以, Esrally 我们也要用普通用户去测试, 否则会报错, 报错信息如上图所示.
3, 另外由于数据量过大, 压测的时间一般会很久, 可能在 1 个小时左右.
那么到此为止, 我们的 ES 测试工具 Esrally 就陆陆续续搭建成功, 这个过程, 出现的问题, 比较多, 我这边文章是经过多次梳理后总结的. 一般按照我这个流程来装不会有太大的问题.
二, 总结
本节主要介绍了一下 ES 压测工具的实际安装与简单测试, 下一节, 我们就拿真实的 ES 集群数据来进行压力测试.
来源: https://www.qcloud.com/developer/article/1594189