---
title: ESRally目录创建
description: "1. 创建tracks目录。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/testguide/tstg/kunpengbdses_11_0012.html
sourcePath: /source/zh/kunpengbds/testguide/tstg/kunpengbdses_11_0012.html
indexId: e689789e55bf83175b487b35871cacc17b8bcd418174bb4e2d8607203ba019e662
---
# ESRally目录创建

#### 创建tracks目录

1. 创建tracks目录。
  1 2 cd /root/.rally/ mkdir -p benchmarks/tracks/default/

2. 下载tracks(https://github.com/elastic/rally-tracks)并将下载好的目录放入到“benchmarks/tracks/default/”目录下。
  1 cp -a rally-tracks/geonames benchmarks/tracks/default/

3. 进入“benchmarks/tracks/default/”目录。
  1 cd benchmarks/tracks/default/

4. 创建Git仓库。
  1 2 3 git init git config --global user.email git config --global user.name

5. 将数据Git到本地库。
  此步骤在修改完配置之后执行，每次重新修改配置都需要执行此步骤。

```
git add geonames/*
git commit -a -m "add geonames"
```


#### 创建teams目录

1. 创建目录。
  1 mkdir -p /root/.rally/benchmarks/teams/default/

2. 下载teams(https://github.com/elastic/rally-teams)并将下载好的目录放入到“rally-teams/cars benchmarks/teams/default/”目录下。
  1 cp -a rally-teams/cars benchmarks/teams/default/

3. 进入“rally-teams/cars benchmarks/teams/default/”目录。
  1 cd benchmarks/teams/default/

4. 创建Git仓库。
  1 git init

5. 将数据Git到本地库。
  此步骤在修改完配置之后执行，每次重新修改配置都需要执行此步骤。

  1 git add cars


#### 创建data目录

1. 创建目录。
  1 mkdir -p benchmarks/data/geonames

2. 下载数据样本。
  1 wget http://download.geonames.org/export/dump/allCountries.zip

3. 解压allCountries.zip。
  1 unzip allCountries.zip -d benchmarks/data/geonames

4. 创建格式转换脚本。

  a. 新建脚本文件。
    1 vi toJSON.py

  b. 按“i”进入编辑模式，脚本内容如下。

```
import json​
cols = (("geonameid", "int", True),
("name", "string", True),
("asciiname", "string", False),
("alternatenames", "string", False),
("latitude", "double", True),
("longitude", "double", True),
("feature_class", "string", False),
("feature_code", "string", False),
("country_code", "string", True),
("cc2", "string", False),
("admin1_code", "string", False),
("admin2_code", "string", False),
("admin3_code", "string", False),
("admin4_code", "string", False),
("population", "long", True),
("elevation", "int", False),
("dem", "string", False),
("timezone", "string", False))​​
def main():
with open("allCountries.txt", "rt", encoding="UTF-8") as f:
for line in f:
tup = line.strip().split("\t")
record = {}
for i in range(len(cols)):
name, type, include = cols[i]
if tup[i] != "" and include:
if type in ("int", "long"):
record[name] = int(tup[i])
elif type == "double":
record[name] = float(tup[i])
elif type == "string":
record[name] = tup[i]
print(json.dumps(record, ensure_ascii=False))
if __name__ == "__main__":
main()
```


  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
5. 赋予脚本执行权限。
  1 chmod +x toJSON.py

6. 进入“benchmarks/data/geonames/”目录下执行转换。
  1 2 cd benchmarks/data/geonames/ python3 /root/.rally/benchmarks/teams/default/toJSON.py > documents.json
