乾貨:Elasticsearch 壓測工具之 esrally的安裝與使用(上)

前言|

Elasticsearch 作為現今非常流行的存儲搜索分析平台從而被各大公司所應用。那麼企業在部署ES應用的時候怎麼知道公司集群的性能如何呢?Elastic官方推薦了一款工具,EsrallyES的性能測試工具,更多詳細的關於它的介紹,我就不贅述啦,網上一大把. 下面直接上乾貨,手把手帶你安裝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集群數據來進行壓力測試。