安装esrally
1
2
3
| pyenv virtualenv 3.8.16 myenv
pyenv activate myenv
pip install esrally
|
CopyCopy
在.zshrc 中pyenv相关的环境变量
1
2
3
4
5
6
| export KUBECONFIG=~/k8s/merged-kubeconfig.yaml
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
|
CopyCopy
这里会遇到一个问题pyenv: no such command virtualenv-init’`,解决这个问题时需要安装插件
1
| git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
|
CopyCopy
这里还遇到一个坑
1
| Installing Python-3.8.16... Traceback (most recent call last): File "<string>", line 1, in <module> File "/home/xfhuang/.pyenv/versions/3.8.16/lib/python3.8/tkinter/__init__.py", line 36, in <module> import _tkinter # If this fails your Python may not be configured for Tk ModuleNotFoundError: No module named '_tkinter' WARNING: The Python tkinter extension was not compiled and GUI subsystem has been detected. Missing the Tk toolkit? Installed Python-3.8.16 to /home/xfhuang/.pyenv/versions/3.8.16
|
CopyCopy
解决办法:
1
2
3
| 在 Arch Linux 上,Tkinter 的依赖包通常包含在 `tk` 包中。使用以下命令安装 `tk`:
sh
sh
|
CopyCopy
sudo pacman -S tk `
2. 安装 Python 依赖
为了确保编译 Python 时包含 Tkinter 支持,安装以下依赖项:
1
| sudo pacman -S base-devel openssl zlib xz
|
CopyCopy
-
可以查看集群状态
-
curl -u “elastic:123456” -k https://10.7.20.26:35919
-
{
-
“name” : “elasticsearch-es-data-nodes-0”,
-
“cluster_name” : “elasticsearch”,
-
“cluster_uuid” : “caWatVXyQmSNDLQ7lEO7qg”,
-
“version” : {
-
“number” : “7.2.0”,
-
“build_flavor” : “default”,
-
“build_type” : “docker”,
-
“build_hash” : “508c38a”,
-
“build_date” : “2019-06-20T15:54:18.811730Z”,
-
“build_snapshot” : false,
-
“lucene_version” : “8.0.0”,
-
“minimum_wire_compatibility_version” : “6.8.0”,
-
“minimum_index_compatibility_version” : “6.0.0-beta1”
-
},
-
“tagline” : “You Know, for Search”
-
}
配置es.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| WORKSPACE=$(pwd)
echo $WORKSPACE
ESADDRESS=1
DOCKER=(docker images | grep elastic/rally | awk '{print 3}')
if [ -z "{DOCKER}" ]; then
echo "请先加载docker镜像,参考命令 docker load -i 镜像文件"
exit 0
fi
if [ -z "${ESADDRESS}" ]; then
echo "请输入ES集群地址"
exit 0
fi
TESTTYPE=2
if [ -z "{TESTTYPE}" ]; then
echo "请输入测试类型,目前支持的类型有geonames http_logs"
exit 0
fi
REPORTFILE=3
if [ -z "{REPORTFILE}" ]; then
REPORTFILE=result.csv
echo "没有输入测试名称,使用默认测试名称result.csv,地址为{WORKSPACE}/rally/benchmarks/result.csv"
fi
echo "测试结果地址为{WORKSPACE}/rally/benchmarks/${REPORTFILE}"
docker="docker"
EXECCMD="{docker} run --network host -v {WORKSPACE}/rally:/rally/.rally elastic/rally:2.2.1 race --pipeline=benchmark-only --target-hosts={ESADDRESS} --track-path=/rally/.rally/benchmarks/data/{TESTTYPE} --offline --report-format=csv --report-file=/rally/.rally/benchmarks/{REPORTFILE}"
echo EXECCMD
{docker} run --network host -v {WORKSPACE}/rally:/rally/.rally elastic/rally:2.2.1 race --pipeline=benchmark-only --target-hosts={ESADDRESS} --track-path=/rally/.rally/benchmarks/data/{TESTTYPE} --track-params="bulk_indexing_clients:20" --offline --report-format=csv --report-file=/rally/.rally/benchmarks/${REPORTFILE}
docker rm -f (docker ps -a | grep elastic/rally | awk '{print 1}')
echo "程序执行完毕"
echo "程序执行完毕"
|
CopyCopy
1
| --client-options="use_ssl:true,verify_certs:true,basic_auth_user:'elastic',basic_auth_password:'123456'"
|
CopyCopy
查看执行过程 
当出现这个时,就代表运行成功
在kibana上查看一下数据集 
本文使用 文章同步助手 同步