Some problems when running esrally


(chenliang) #1

when i am running esrally ,
/usr/local/python34/bin/esrally --pipeline=from-distribution --distribution-version=2.3.0
i get some probelems like:

ERROR: Cannot race

Reason: Could not fetch source tree from 'https://github.com/elastic/rally-tracks'

Please check the log file [/home/dba/.rally/benchmarks/races/2016-08-27-08-29-18/local/logs/rally_out.log] for further details first.

and the log is:

2016-08-27 08:29:18,904 rally.main INFO Rally version [0.3.2]
2016-08-27 08:29:18,904 rally.main INFO Command line arguments: Namespace(advanced_config=False, car='defaults', challenge='append-no-conflicts', client_options='timeout:90,request_timeout:90', configuration_name=None, data_paths=None, distribution_repository='release', distribution_version='2.3.0', effective_start_date=datetime.datetime(2016, 8, 27, 8, 29, 18, 898420), offline=False, pipeline='from-distribution', preserve_install=False, quiet=False, report_file='', report_format='markdown', revision='current', rounds=1, subcommand=None, target_hosts='localhost:9200', telemetry='', track='geonames', user_tag='')
2016-08-27 08:29:18,944 rally.racecontrol INFO Resolved download URL [https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.0/elasticsearch-2.3.0.tar.gz] for version [2.3.0]
2016-08-27 08:29:18,944 rally.racecontrol INFO Skipping download for version [2.3.0]. Found an existing binary locally at [/home/dba/.rally/benchmarks/distributions/elasticsearch-2.3.0.tar.gz].
2016-08-27 08:29:18,949 root ERROR Cannot run subcommand [race].
Traceback (most recent call last):
File "/usr/local/python34/lib/python3.4/site-packages/esrally/rally.py", line 302, in dispatch_sub_command
racecontrol.run(cfg)
File "/usr/local/python34/lib/python3.4/site-packages/esrally/racecontrol.py", line 336, in run
pipeline()
File "/usr/local/python34/lib/python3.4/site-packages/esrally/racecontrol.py", line 58, in call
step()
File "/usr/local/python34/lib/python3.4/site-packages/esrally/racecontrol.py", line 27, in call
self.command(self.ctx)
File "/usr/local/python34/lib/python3.4/site-packages/esrally/racecontrol.py", line 88, in prepare_track
ctx.track = track.load_track(ctx.config, track_name)
File "/usr/local/python34/lib/python3.4/site-packages/esrally/track.py", line 237, in load_track
repo = TrackRepository(cfg)
File "/usr/local/python34/lib/python3.4/site-packages/esrally/track.py", line 321, in init
git.fetch(src=self.tracks_dir, remote=self.url)
File "/usr/local/python34/lib/python3.4/site-packages/esrally/utils/git.py", line 27, in fetch
raise exceptions.SupplyError("Could not fetch source tree from '%s'" % remote)
esrally.exceptions.SupplyError: Could not fetch source tree from 'https://github.com/elastic/rally-tracks'

and my rally configure is

[meta]
config.version = 5

[system]
root.dir = /home/dba/.rally/benchmarks
log.root.dir = logs
env.name = local

[source]
local.src.dir = /home/dba/.rally/benchmarks/src
remote.repo.url = https://github.com/elastic/elasticsearch.git

[build]
gradle.bin = /usr/local/gradle-2.13/bin/gradle

[provisioning]
local.install.dir = install

[runtime]
java8.home = /usr/java/jdk1.8.0_101

[benchmarks]
local.dataset.cache = ${system:root.dir}/data

[reporting]
datastore.type = in-memory
datastore.host =
datastore.port =
datastore.secure =
datastore.user =
datastore.password =

[tracks]
default.url = https://github.com/elastic/rally-tracks

i was stuck here for two days , i was wondering why?

anthor question is that how can i use rally without network?


(Daniel Mitterdorfer) #2

Hi @abcCl,

Rally can benchmark using different data sets. You can even benchmark older versions of Elasticsearch starting with 1.7 until the latest master snapshots build. To support that, we store meta-information in a git repository that is hosted on Github (https://github.com/elastic/rally-tracks) and it's exactly this repository that is causing trouble.

Rally needs a network connection to fetch this repository. It will also need a network connection to download the data set that it uses for benchmarking. Now, you could download all of them yourself and place the files in the right directories but this is inconvenient. It's similar to other tools like Maven or Gradle that also need an Internet connection to download JAR files for the build.

However, there is a --offline flag that skips a few up-to-date checks in Rally (but not all of them). In the next version, we also don't check the track repository for updates once it has been downloaded.

I hope that helps.

Daniel


(chenliang) #3

thanks for your help.
after i change the git from version 1.8.3 to 2.8.1,erverthing goes well.
:innocent:


(Daniel Mitterdorfer) #4

Hi @abcCl,

great to hear. :slight_smile:

Daniel


#5

I hit the same issue due to git 1.8 in my RHEL 7.1 environment and esrally v. 0.4.1

I resolved it by installing git19 via Red Hat Software Collections

$ git --version
git version 1.9.4

With this version of git, benchmark runs just fine.

@danielmitterdorfer, maybe you can add this pre-req to docs?


(Daniel Mitterdorfer) #6

Hi @uncas,

cool, thanks for the hint. Much appreciated! I'll update the docs.

Daniel


(system) #7