X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7fb83a3380e62721801a4980c48ba78208c7b2e2..c0082c57cb7c5e67115e7b03c8c85f74b5b29d0d:/doc/install/install-crunch-dispatch.html.textile.liquid
diff --git a/doc/install/install-crunch-dispatch.html.textile.liquid b/doc/install/install-crunch-dispatch.html.textile.liquid
index 9cdebbc082..300f55ae17 100644
--- a/doc/install/install-crunch-dispatch.html.textile.liquid
+++ b/doc/install/install-crunch-dispatch.html.textile.liquid
@@ -5,74 +5,110 @@ title: Install the Crunch dispatcher
...
-
-
The dispatcher normally runs on the same host/VM as the API server.
-h4. Perl SDK dependencies
-
-* @apt-get install libjson-perl libwww-perl libio-socket-ssl-perl libipc-system-simple-perl@
-
-Add this to @/etc/apt/sources.list@
+h2. Perl SDK dependencies
-@deb http://git.oxf.freelogy.org/apt wheezy main contrib@
+Install the Perl SDK on the controller.
-Then
+* See "Perl SDK":{{site.baseurl}}/sdk/perl/index.html page for details.
-@apt-get install libwarehouse-perl@
+h2. Python SDK dependencies
-h4. Python SDK dependencies
+Install the Python SDK and CLI tools on controller and all compute nodes.
-On controller and all compute nodes:
+* See "Python SDK":{{site.baseurl}}/sdk/python/sdk-python.html page for details.
-* @apt-get install python-pip@
-* @pip install --upgrade virtualenv arvados-python-client@
+h2(#slurm). Set up SLURM
-h4. Likely crunch job dependencies
+On the API server, install SLURM and munge, and generate a munge key.
-On compute nodes:
+On Debian-based systems:
-* @pip install --upgrade pyvcf@
+
+~$ sudo /usr/bin/apt-get install slurm-llnl munge
+~$ sudo /usr/sbin/create-munge-key
+
+ControlMachine=uuid_prefix.your.domain
+SlurmctldPort=6817
+SlurmdPort=6818
+AuthType=auth/munge
+StateSaveLocation=/tmp
+SlurmdSpoolDir=/tmp/slurmd
+SwitchType=switch/none
+MpiDefault=none
+SlurmctldPidFile=/var/run/slurmctld.pid
+SlurmdPidFile=/var/run/slurmd.pid
+ProctrackType=proctrack/pgid
+CacheGroups=0
+ReturnToService=2
+TaskPlugin=task/affinity
+#
+# TIMERS
+SlurmctldTimeout=300
+SlurmdTimeout=300
+InactiveLimit=0
+MinJobAge=300
+KillWait=30
+Waittime=0
+#
+# SCHEDULING
+SchedulerType=sched/backfill
+SchedulerPort=7321
+SelectType=select/cons_res
+SelectTypeParameters=CR_CPU_Memory
+FastSchedule=1
+#
+# LOGGING
+SlurmctldDebug=3
+#SlurmctldLogFile=
+SlurmdDebug=3
+#SlurmdLogFile=
+JobCompType=jobcomp/none
+#JobCompLoc=
+JobAcctGatherType=jobacct_gather/none
+#
+# COMPUTE NODES
+NodeName=DEFAULT
+PartitionName=DEFAULT MaxTime=INFINITE State=UP
+PartitionName=compute Default=YES Shared=yes
+
+NodeName=compute[0-255]
+
+PartitionName=compute Nodes=compute[0-255]
+
+
-#!/bin/sh -set -e -while sleep 60 -do - cd /path/to/arvados/services/api - setuidgid www-data env RAILS_ENV=production /usr/local/rvm/bin/rvm-exec 2.0.0 bundle exec ./script/import_commits.rb 2>&1 -done -+Crunch scripts must be in Git repositories in the directory configured as @git_repositories_dir@/*.git (see the "API server installation":install-api-server.html#git_repositories_dir). -Once you have imported some commits, you should be able to create a new job: +Once you have a repository with commits -- and you have read access to the repository -- you should be able to create a new job:
read -rd $'\000' newjob <-h4. Running jobs +h2. Running jobs * @services/api/script/crunch-dispatch.rb@ must be running. * @crunch-dispatch.rb@ needs @services/crunch/crunch-job@ in its @PATH@. -* @crunch-job@ needs @sdk/perl/lib@ and @warehouse-apps/libwarehouse-perl/lib@ in its @PERLLIB@ -* @crunch-job@ needs @ARVADOS_API_HOST@ (and, if necessary in a development environment, @ARVADOS_API_HOST_INSECURE@) +* @crunch-job@ needs the installation path of the Perl SDK in its @PERLLIB@. +* @crunch-job@ needs the @ARVADOS_API_HOST@ (and, if necessary in a development environment, @ARVADOS_API_HOST_INSECURE@) environment variable set. Example @/var/service/arvados_crunch_dispatch/run@ script:@@ -82,20 +118,24 @@ Without getting this error: ArgumentError: Specified script_version does not resolve to a commit
#!/bin/sh set -e + +rvmexec="" +## uncomment this line if you use rvm: +#rvmexec="/usr/local/rvm/bin/rvm-exec 2.1.1" + export PATH="$PATH":/path/to/arvados/services/crunch -export PERLLIB=/path/to/arvados/sdk/perl/lib:/path/to/warehouse-apps/libwarehouse-perl/lib export ARVADOS_API_HOST={{ site.arvados_api_host }} export CRUNCH_DISPATCH_LOCKFILE=/var/lock/crunch-dispatch @@ -106,5 +146,5 @@ fuser -TERM -k $CRUNCH_DISPATCH_LOCKFILE || true cd /path/to/arvados/services/api export RAILS_ENV=production -exec /usr/local/rvm/bin/rvm-exec 2.0.0 bundle exec ./script/crunch-dispatch.rb 2>&1 +exec $rvmexec bundle exec ./script/crunch-dispatch.rb 2>&1