专栏首页南非骆驼的专栏干货:Elasticsearch 压测工具之 esrally的安装与使用(上)
原创

干货:Elasticsearch 压测工具之 esrally的安装与使用(上)

前言|

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

第七步:验证一下是否成功

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集群数据来进行压力测试。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 腾讯云 Elasticsearch 运维篇(三十一) Kibana 实战与讲解

    这里有一个疑问?当我们在腾讯云控制台上去选择自己所需的ES版本时候,特别是没有选白金版的时候,界面也会提示我们需要输入账号密码,这是为什么?鉴于此,我选择6....

    南非骆驼漫谈ELK Stack
  • Elasticsearch集群的身份验证、用户鉴权操作

    ES作为一款当下非常流行的轻量级存储搜索引擎,其安全性也变得日益重要。否则就会非常容易造成敏感数据泄露的严重问题。主要是因为使用者并没有将ES的安全功能打开。那...

    南非骆驼漫谈ELK Stack
  • ES ILM 功能的实际应用(二)

    在前面的章节中,我讲了ES从6.8版本开始默认免费支持索引生命周期管理策略的实际应用,那么今天我们继续深化讲解一下这个架构的应用,主要将ILM结合Rollove...

    南非骆驼漫谈ELK Stack
  • centos6.5下安装OpenCV+P

    Python调用opencv的原理是:opencv编译出共享库文件,python把这个共享库文件作为一个模块加载并使用。通俗点就是,编译opencv的时候开启p...

    py3study
  • SAP Cloud for Customer和SAP S4HANA的Customer - Business partner

    在SAP Cloud for Customer里,Customer主数据在工作中心Customers->Accounts里查看,

    Jerry Wang
  • 大型网站架构及优化

    本次很荣幸能邀请到邵宗文为我们带来《大型网站架构设计及优化》主题分享。他有10多年运营开发、海量运维和架构规划经验,精通海量服务的架构设计和自动化运维建设,目前...

    邵宗文
  • 消息中间件之RcoketMQ单机版安装

    一、RocketMQ安装环境 64bit linux 64bit jdk1.8+ maven 3.2.x git(不一定需要) 本文安装环境为centos7....

    lyb-geek
  • 实战-Fluxion与wifi热点伪造、钓鱼、中间人攻击、wifi破解

    Fluxion是一个无线破解工具,这款软件可以帮你挤掉WiFi主人的网络让你自己登陆进去,而且WiFi主人怎么挤也挤不过你。这个工具有点像是Lin...

    用户1631416
  • 西方红玫瑰和辣条先生黑产组织深度分析报告

    1. 报告摘要 近期,神州网云依靠高级威胁检测引擎并结合天际友盟的威胁情报,精确发现了多起高级威胁组织的攻击,通过快速有效的一键溯源确定了攻击行为及影响。 St...

    FB客服
  • 数据分析师必看:数据分析框架和任务拆解

    当领导给到一个目标的时候,你会怎么做。譬如,我们现在从某个产品获取到了很多用户的意向信息,需要怎么把这些数据和业务结合在一起?下面聊一下几个思路,

    1480

扫码关注云+社区

领取腾讯云代金券