Running esrally inside a container with -
esrally --track=geonames --target-hosts=17.99.221.188:80 --pipeline=benchmark-only
But getting the following error -
[ERROR] Cannot race. ('Could not execute benchmark', TrackSyntaxError('Track 'geonames' is invalid.\n\nError details: 'type' is not of type 'object'\nInstance: "type"\nPath: deque(['indices', 0, 'types', 0])\nSchema path: deque(['properties', 'indices', 'items', 'properties', 'types', 'items', 'type'])',))
NOTE: - before running this I had deleted /root/.rally/benchmarks/tracks/default. as was getting the below error
[ERROR] Cannot race. ('Could not execute benchmark', DataError('Cannot update [tracks] in [/root/.rally/benchmarks/tracks/default].',))
I created a simple docker-compose file deploying elasticsearch and a python:3 image where I manually exec'd into to install esrally. NOTE: it's not recommended to run Rally as the root user inside the Docker image, as well as relying on the union filesystem for its ~/.rally directory.
At any rate, even with this repro-only setup, Rally started fine with a similar command to yours:
$ docker exec -ti rallydocker_python3dev_1 /bin/bash
root@a03b4a2d51c3:/# pip3 install esrally
root@a03b4a2d51c3:/# esrally configure
root@a03b4a2d51c3:/# esrally --track=geonames --target-hosts=tmpelasticsearch1:9200 --pipeline=benchmark-only
____ ____
/ __ \____ _/ / /_ __
/ /_/ / __ `/ / / / / /
/ _, _/ /_/ / / / /_/ /
/_/ |_|\__,_/_/_/\__, /
/____/
************************************************************************
************** WARNING: A dark dungeon lies ahead of you **************
************************************************************************
Rally does not have control over the configuration of the benchmarked
Elasticsearch cluster.
Be aware that results may be misleading due to problems with the setup.
Rally is also not able to gather lots of metrics at all (like CPU usage
of the benchmarked cluster) or may even produce misleading metrics (like
the index size).
************************************************************************
****** Use this pipeline only if you are aware of the tradeoffs. ******
*************************** Watch your step! ***************************
************************************************************************
[INFO] Racing on track [geonames], challenge [append-no-conflicts] and car ['external'] with version [6.4.2].
[INFO] Downloading data for track geonames (252.4 MB total size) [100.0%]
[INFO] Decompressing track data from [/root/.rally/benchmarks/data/geonames/documents-2.json.bz2] to [/root/.rally/benchmarks/data/geonames/documents-2.json] (resulting size: 3.30 GB) ... [OK]
[INFO] Preparing file offset table for [/root/.rally/benchmarks/data/geonames/documents-2.json] ... [OK]
Running delete-index [100% done]
Running create-index [100% done]
Running check-cluster-health [100% done]
Running index-append [ 75% done]
I'd try to start clean again and also ensure ~/.rally is getting executing from a bind mount (to ensure the union fs isn't slowing things down).
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.