3 navsection: installguide
4 title: Install the Crunch dispatcher
10 The dispatcher normally runs on the same host/VM as the API server.
12 h4. Perl SDK dependencies
14 * @apt-get install libjson-perl libwww-perl libio-socket-ssl-perl libipc-system-simple-perl@
16 Add this to @/etc/apt/sources.list@
18 @deb http://git.oxf.freelogy.org/apt wheezy main contrib@
22 @apt-get install libwarehouse-perl@
24 h4. Python SDK dependencies
26 On controller and all compute nodes:
28 * @apt-get install python-pip@
29 * @pip install --upgrade virtualenv arvados-python-client@
31 h4. Likely crunch job dependencies
35 * @pip install --upgrade pyvcf@
41 * @apt-get install redis-server@
43 h4. Crunch user account
45 On compute nodes and controller:
49 The crunch user should have the same UID, GID, and home directory on all compute nodes and on the controller.
53 Crunch scripts must be in git repositories in @/var/cache/git/*/.git@ (or whatever is configured in @services/api/config/environments/production.rb@).
57 @services/api/script/import_commits.rb production@ must run periodically. Example @/var/service/arvados_import_commits/run@ script for daemontools or runit:
64 cd /path/to/arvados/services/api
65 setuidgid www-data env RAILS_ENV=production /usr/local/rvm/bin/rvm-exec 2.0.0 bundle exec ./script/import_commits.rb 2>&1
69 Once you have imported some commits, you should be able to create a new job:
72 read -rd $'\000' newjob <<EOF; arv job create --job "$newjob"
73 {"script_parameters":{"input":"f815ec01d5d2f11cb12874ab2ed50daa"},
74 "script_version":"master",
79 Without getting this error:
82 ArgumentError: Specified script_version does not resolve to a commit
87 * @services/api/script/crunch-dispatch.rb@ must be running.
88 * @crunch-dispatch.rb@ needs @services/crunch/crunch-job@ in its @PATH@.
89 * @crunch-job@ needs @sdk/perl/lib@ and @warehouse-apps/libwarehouse-perl/lib@ in its @PERLLIB@
90 * @crunch-job@ needs @ARVADOS_API_HOST@ (and, if necessary in a development environment, @ARVADOS_API_HOST_INSECURE@)
92 Example @/var/service/arvados_crunch_dispatch/run@ script:
97 export PATH="$PATH":/path/to/arvados/services/crunch
98 export PERLLIB=/path/to/arvados/sdk/perl/lib:/path/to/warehouse-apps/libwarehouse-perl/lib
99 export ARVADOS_API_HOST={{ site.arvados_api_host }}
100 export CRUNCH_DISPATCH_LOCKFILE=/var/lock/crunch-dispatch
102 fuser -TERM -k $CRUNCH_DISPATCH_LOCKFILE || true
104 ## Only if your SSL cert is unverifiable:
105 # export ARVADOS_API_HOST_INSECURE=yes
107 cd /path/to/arvados/services/api
108 export RAILS_ENV=production
109 exec /usr/local/rvm/bin/rvm-exec 2.0.0 bundle exec ./script/crunch-dispatch.rb 2>&1