乾貨: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集群數據來進行壓力測試。