| <!DOCTYPE html> |
| <html lang="en"> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <title>Apache Aurora</title> |
| <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> |
| <link href="/assets/css/main.css" rel="stylesheet"> |
| <!-- Analytics --> |
| <script type="text/javascript"> |
| var _gaq = _gaq || []; |
| _gaq.push(['_setAccount', 'UA-45879646-1']); |
| _gaq.push(['_setDomainName', 'apache.org']); |
| _gaq.push(['_trackPageview']); |
| |
| (function() { |
| var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; |
| ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; |
| var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); |
| })(); |
| </script> |
| </head> |
| <body> |
| |
| <div class="container-fluid section-header"> |
| <div class="container"> |
| <div class="nav nav-bar"> |
| <a href="/"><img src="/assets/img/aurora_logo_white_bkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a> |
| <ul class="nav navbar-nav navbar-right"> |
| <li><a href="/documentation/latest/">Documentation</a></li> |
| <li><a href="/community/">Community</a></li> |
| <li><a href="/downloads/">Downloads</a></li> |
| <li><a href="/blog/">Blog</a></li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| <div class="container-fluid"> |
| <div class="container content"> |
| <h1 id="aurora-client-commands">Aurora Client Commands</h1> |
| |
| <p>The most up-to-date reference is in the client itself: use the |
| <code>aurora help</code> subcommand (for example, <code>aurora help</code> or |
| <code>aurora help create</code>) to find the latest information on parameters and |
| functionality. Note that <code>aurora help open</code> does not work, due to underlying issues with |
| reflection.</p> |
| |
| <ul> |
| <li><a href="#introduction">Introduction</a></li> |
| <li><a href="#cluster-configuration">Cluster Configuration</a></li> |
| <li><a href="#job-keys">Job Keys</a></li> |
| <li><a href="#modifying-aurora-client-commands">Modifying Aurora Client Commands</a></li> |
| <li><a href="#regular-jobs">Regular Jobs</a> |
| |
| <ul> |
| <li><a href="#creating-and-running-a-job">Creating and Running a Job</a></li> |
| <li><a href="#running-a-command-on-a-running-job">Running a Command On a Running Job</a></li> |
| <li><a href="#killing-a-job">Killing a Job</a></li> |
| <li><a href="#updating-a-job">Updating a Job</a> |
| |
| <ul> |
| <li><a href="#user-content-asynchronous-job-updates-beta">Asynchronous job updates (beta)</a></li> |
| </ul></li> |
| <li><a href="#renaming-a-job">Renaming a Job</a></li> |
| <li><a href="#restarting-jobs">Restarting Jobs</a></li> |
| </ul></li> |
| <li><a href="#cron-jobs">Cron Jobs</a></li> |
| <li><a href="#comparing-jobs">Comparing Jobs</a></li> |
| <li><a href="#viewingexamining-jobs">Viewing/Examining Jobs</a> |
| |
| <ul> |
| <li><a href="#listing-jobs">Listing Jobs</a></li> |
| <li><a href="#inspecting-a-job">Inspecting a Job</a></li> |
| <li><a href="#versions">Versions</a></li> |
| <li><a href="#checking-your-quota">Checking Your Quota</a></li> |
| <li><a href="#finding-a-job-on-web-ui">Finding a Job on Web UI</a></li> |
| <li><a href="#getting-job-status">Getting Job Status</a></li> |
| <li><a href="#opening-the-web-ui">Opening the Web UI</a></li> |
| <li><a href="#sshing-to-a-specific-task-machine">SSHing to a Specific Task Machine</a></li> |
| <li><a href="#templating-command-arguments">Templating Command Arguments</a></li> |
| </ul></li> |
| </ul> |
| |
| <h2 id="introduction">Introduction</h2> |
| |
| <p>Once you have written an <code>.aurora</code> configuration file that describes |
| your Job and its parameters and functionality, you interact with Aurora |
| using Aurora Client commands. This document describes all of these commands |
| and how and when to use them. All Aurora Client commands start with |
| <code>aurora</code>, followed by the name of the specific command and its |
| arguments.</p> |
| |
| <p><em>Job keys</em> are a very common argument to Aurora commands, as well as the |
| gateway to useful information about a Job. Before using Aurora, you |
| should read the next section which describes them in detail. The section |
| after that briefly describes how you can modify the behavior of certain |
| Aurora Client commands, linking to a detailed document about how to do |
| that.</p> |
| |
| <p>This is followed by the Regular Jobs section, which describes the basic |
| Client commands for creating, running, and manipulating Aurora Jobs. |
| After that are sections on Comparing Jobs and Viewing/Examining Jobs. In |
| other words, various commands for getting information and metadata about |
| Aurora Jobs.</p> |
| |
| <h2 id="cluster-configuration">Cluster Configuration</h2> |
| |
| <p>The client must be able to find a configuration file that specifies available clusters. This file |
| declares shorthand names for clusters, which are in turn referenced by job configuration files |
| and client commands.</p> |
| |
| <p>The client will load at most two configuration files, making both of their defined clusters |
| available. The first is intended to be a system-installed cluster, using the path specified in |
| the environment variable <code>AURORA_CONFIG_ROOT</code>, defaulting to <code>/etc/aurora/clusters.json</code> if the |
| environment variable is not set. The second is a user-installed file, located at |
| <code>~/.aurora/clusters.json</code>.</p> |
| |
| <p>A cluster configuration is formatted as JSON. The simplest cluster configuration is one that |
| communicates with a single (non-leader-elected) scheduler. For example:</p> |
| <pre class="highlight javascript"><span class="p">[{</span> |
| <span class="s2">"name"</span><span class="err">:</span> <span class="s2">"example"</span><span class="p">,</span> |
| <span class="s2">"scheduler_uri"</span><span class="err">:</span> <span class="s2">"localhost:55555"</span><span class="p">,</span> |
| <span class="p">}]</span> |
| </pre> |
| <p>A configuration for a leader-elected scheduler would contain something like:</p> |
| <pre class="highlight javascript"><span class="p">[{</span> |
| <span class="s2">"name"</span><span class="err">:</span> <span class="s2">"example"</span><span class="p">,</span> |
| <span class="s2">"zk"</span><span class="err">:</span> <span class="s2">"192.168.33.7"</span><span class="p">,</span> |
| <span class="s2">"scheduler_zk_path"</span><span class="err">:</span> <span class="s2">"/aurora/scheduler"</span> |
| <span class="p">}]</span> |
| </pre> |
| <p>For more details on cluster configuration see the |
| <a href="/documentation/latest/client-cluster-configuration/">Client Cluster Configuration</a> documentation.</p> |
| |
| <h2 id="job-keys">Job Keys</h2> |
| |
| <p>A job key is a unique system-wide identifier for an Aurora-managed |
| Job, for example <code>cluster1/web-team/test/experiment204</code>. It is a 4-tuple |
| consisting of, in order, <em>cluster</em>, <em>role</em>, <em>environment</em>, and |
| <em>jobname</em>, separated by /s. Cluster is the name of an Aurora |
| cluster. Role is the Unix service account under which the Job |
| runs. Environment is a namespace component like <code>devel</code>, <code>test</code>, |
| <code>prod</code>, or <code>stagingN.</code> Jobname is the Job’s name.</p> |
| |
| <p>The combination of all four values uniquely specifies the Job. If any |
| one value is different from that of another job key, the two job keys |
| refer to different Jobs. For example, job key |
| <code>cluster1/tyg/prod/workhorse</code> is different from |
| <code>cluster1/tyg/prod/workcamel</code> is different from |
| <code>cluster2/tyg/prod/workhorse</code> is different from |
| <code>cluster2/foo/prod/workhorse</code> is different from |
| <code>cluster1/tyg/test/workhorse.</code></p> |
| |
| <p>Role names are user accounts existing on the slave machines. If you don’t know what accounts |
| are available, contact your sysadmin.</p> |
| |
| <p>Environment names are namespaces; you can count on <code>prod</code>, <code>devel</code> and <code>test</code> existing.</p> |
| |
| <h2 id="modifying-aurora-client-commands">Modifying Aurora Client Commands</h2> |
| |
| <p>For certain Aurora Client commands, you can define hook methods that run |
| either before or after an action that takes place during the command’s |
| execution, as well as based on whether the action finished successfully or failed |
| during execution. Basically, a hook is code that lets you extend the |
| command’s actions. The hook executes on the client side, specifically on |
| the machine executing Aurora commands.</p> |
| |
| <p>Hooks can be associated with these Aurora Client commands.</p> |
| |
| <ul> |
| <li><code>cancel_update</code></li> |
| <li><code>create</code></li> |
| <li><code>kill</code></li> |
| <li><code>restart</code></li> |
| <li><code>update</code></li> |
| </ul> |
| |
| <p>The process for writing and activating them is complex enough |
| that we explain it in a devoted document, <a href="/documentation/latest/hooks/">Hooks for Aurora Client API</a>.</p> |
| |
| <h2 id="regular-jobs">Regular Jobs</h2> |
| |
| <p>This section covers Aurora commands related to running, killing, |
| renaming, updating, and restarting a basic Aurora Job.</p> |
| |
| <h3 id="creating-and-running-a-job">Creating and Running a Job</h3> |
| <pre class="highlight text">aurora create <job key> <configuration file> |
| </pre> |
| <p>Creates and then runs a Job with the specified job key based on a <code>.aurora</code> configuration file. |
| The configuration file may also contain and activate hook definitions.</p> |
| |
| <p><code>create</code> can take four named parameters:</p> |
| |
| <ul> |
| <li><code>-E NAME=VALUE</code> Bind a Thermos mustache variable name to a |
| value. Multiple flags specify multiple values. Defaults to <code>[]</code>.</li> |
| <li><code>-o, --open_browser</code> Open a browser window to the scheduler UI Job |
| page after a job changing operation happens. When <code>False</code>, the Job |
| URL prints on the console and the user has to copy/paste it |
| manually. Defaults to <code>False</code>. Does not work when running in Vagrant.</li> |
| <li><code>-j, --json</code> If specified, configuration argument is read as a |
| string in JSON format. Defaults to False.</li> |
| <li><code>--wait_until=STATE</code> Block the client until all the Tasks have |
| transitioned into the requested state. Possible values are: <code>PENDING</code>, |
| <code>RUNNING</code>, <code>FINISHED</code>. Default: <code>PENDING</code></li> |
| </ul> |
| |
| <h3 id="running-a-command-on-a-running-job">Running a Command On a Running Job</h3> |
| <pre class="highlight text">aurora run <job_key> <cmd> |
| </pre> |
| <p>Runs a shell command on all machines currently hosting shards of a |
| single Job.</p> |
| |
| <p><code>run</code> supports the same command line wildcards used to populate a Job’s |
| commands; i.e. anything in the <code>{{mesos.*}}</code> and <code>{{thermos.*}}</code> |
| namespaces.</p> |
| |
| <p><code>run</code> can take three named parameters:</p> |
| |
| <ul> |
| <li><code>-t NUM_THREADS</code>, <code>--threads=NUM_THREADS</code>The number of threads to |
| use, defaulting to <code>1</code>.</li> |
| <li><code>--user=SSH_USER</code> ssh as this user instead of the given role value. |
| Defaults to None.</li> |
| <li><code>-e, --executor_sandbox</code> Run the command in the executor sandbox |
| instead of the Task sandbox. Defaults to False.</li> |
| </ul> |
| |
| <h3 id="killing-a-job">Killing a Job</h3> |
| <pre class="highlight text">aurora kill <job key> <configuration file> |
| </pre> |
| <p>Kills all Tasks associated with the specified Job, blocking until all |
| are terminated. Defaults to killing all shards in the Job.</p> |
| |
| <p>The <code><configuration file></code> argument for <code>kill</code> is optional. Use it only |
| if it contains hook definitions and activations that affect the |
| kill command.</p> |
| |
| <p><code>kill</code> can take two named parameters:</p> |
| |
| <ul> |
| <li><code>-o, --open_browser</code> Open a browser window to the scheduler UI Job |
| page after a job changing operation happens. When <code>False</code>, the Job |
| URL prints on the console and the user has to copy/paste it |
| manually. Defaults to <code>False</code>. Does not work when running in Vagrant.</li> |
| <li><code>--shards=SHARDS</code> A list of shard ids to act on. Can either be a |
| comma-separated list (e.g. 0,1,2) or a range (e.g. 0-2) or any |
| combination of the two (e.g. 0-2,5,7-9). Defaults to acting on all |
| shards.</li> |
| </ul> |
| |
| <h3 id="updating-a-job">Updating a Job</h3> |
| <pre class="highlight text">aurora update [--shards=ids] <job key> <configuration file> |
| aurora cancel_update <job key> <configuration file> |
| </pre> |
| <p>Given a running job, does a rolling update to reflect a new |
| configuration version. Only updates Tasks in the Job with a changed |
| configuration. You can further restrict the operated on Tasks by |
| using <code>--shards</code> and specifying a comma-separated list of job shard ids.</p> |
| |
| <p>You may want to run <code>aurora diff</code> beforehand to validate which Tasks |
| have different configurations.</p> |
| |
| <p>Updating jobs are locked to be sure the update finishes without |
| disruption. If the update abnormally terminates, the lock may stay |
| around and cause failure of subsequent update attempts. |
| <code>aurora cancel_update</code>unlocks the Job specified by |
| its <code>job_key</code> argument. Be sure you don’t issue <code>cancel_update</code> when |
| another user is working with the specified Job.</p> |
| |
| <p>The <code><configuration file></code> argument for <code>cancel_update</code> is optional. Use |
| it only if it contains hook definitions and activations that affect the |
| <code>cancel_update</code> command. The <code><configuration file></code> argument for |
| <code>update</code> is required, but in addition to a new configuration it can be |
| used to define and activate hooks for <code>update</code>.</p> |
| |
| <p><code>update</code> can take four named parameters:</p> |
| |
| <ul> |
| <li><code>--shards=SHARDS</code> A list of shard ids to update. Can either be a |
| comma-separated list (e.g. 0,1,2) or a range (e.g. 0-2) or any |
| combination of the two (e.g. 0-2,5,7-9). If not set, all shards are |
| acted on. Defaults to None.</li> |
| <li><code>-E NAME=VALUE</code> Binds a Thermos mustache variable name to a value. |
| Use multiple flags to specify multiple values. Defaults to <code>[]</code>.</li> |
| <li><code>-j, --json</code> If specified, configuration is read in JSON format. |
| Defaults to <code>False</code>.</li> |
| <li><code>--updater_health_check_interval_seconds=HEALTH_CHECK_INTERVAL_SECONDS</code> |
| Time interval between subsequent shard status checks. Defaults to <code>3</code>.</li> |
| </ul> |
| |
| <h4 id="asynchronous-job-updates-(beta)">Asynchronous job updates (beta)</h4> |
| |
| <p>As of 0.6.0, Aurora will coordinate updates (and rollbacks) within the |
| scheduler. Performing updates this way also allows the scheduler to display |
| update progress and job update history in the browser.</p> |
| |
| <p>There are several sub-commands to manage job updates:</p> |
| <pre class="highlight text">aurora2 beta-update start <job key> <configuration file |
| aurora2 beta-update status <job key> |
| aurora2 beta-update pause <job key> |
| aurora2 beta-update resume <job key> |
| aurora2 beta-update abort <job key> |
| aurora2 beta-update list <cluster> |
| </pre> |
| <p>When you <code>start</code> a job update, the command will return once it has sent the |
| instructions to the scheduler. At that point, you may view detailed |
| progress for the update with the <code>status</code> subcommand, in addition to viewing |
| graphical progress in the web browser. You may also get a full listing of |
| in-progress updates in a cluster with <code>list</code>.</p> |
| |
| <p>Once an update has been started, you can <code>pause</code> to keep the update but halt |
| progress. This can be useful for doing things like debug a partially-updated |
| job to determine whether you would like to proceed. You can <code>resume</code> to |
| proceed.</p> |
| |
| <p>You may <code>abort</code> a job update regardless of the state it is in. This will |
| instruct the scheduler to completely abandon the job update and leave the job |
| in the current (possibly partially-updated) state.</p> |
| |
| <h3 id="renaming-a-job">Renaming a Job</h3> |
| |
| <p>Renaming is a tricky operation as downstream clients must be informed of |
| the new name. A conservative approach |
| to renaming suitable for production services is:</p> |
| |
| <ol> |
| <li> Modify the Aurora configuration file to change the role, |
| environment, and/or name as appropriate to the standardized naming |
| scheme.</li> |
| <li><p>Check that only these naming components have changed |
| with <code>aurora diff</code>.</p> |
| <pre class="highlight text">aurora diff <job_key> <job_configuration> |
| </pre></li> |
| <li><p>Create the (identical) job at the new key. You may need to request a |
| temporary quota increase.</p> |
| <pre class="highlight text">aurora create <new_job_key> <job_configuration> |
| </pre></li> |
| <li><p>Migrate all clients over to the new job key. Update all links and |
| dashboards. Ensure that both job keys run identical versions of the |
| code while in this state.</p></li> |
| <li><p>After verifying that all clients have successfully moved over, kill |
| the old job.</p> |
| <pre class="highlight text">aurora kill <old_job_key> |
| </pre></li> |
| <li><p>If you received a temporary quota increase, be sure to let the |
| powers that be know you no longer need the additional capacity.</p></li> |
| </ol> |
| |
| <h3 id="restarting-jobs">Restarting Jobs</h3> |
| |
| <p><code>restart</code> restarts all of a job key identified Job’s shards:</p> |
| <pre class="highlight text">aurora restart <job_key> <configuration file> |
| </pre> |
| <p>Restarts are controlled on the client side, so aborting |
| the <code>restart</code> command halts the restart operation.</p> |
| |
| <p><code>restart</code> does a rolling restart. You almost always want to do this, but |
| not if all shards of a service are misbehaving and are |
| completely dysfunctional. To not do a rolling restart, use |
| the <code>-shards</code> option described below.</p> |
| |
| <p><strong>Note</strong>: <code>restart</code> only applies its command line arguments and does not |
| use or is affected by <code>update.config</code>. Restarting |
| does <strong><em>not</em></strong> involve a configuration change. To update the |
| configuration, use <code>update.config</code>.</p> |
| |
| <p>The <code><configuration file></code> argument for restart is optional. Use it only |
| if it contains hook definitions and activations that affect the |
| <code>restart</code> command.</p> |
| |
| <p>In addition to the required job key argument, there are eight |
| <code>restart</code> specific optional arguments:</p> |
| |
| <ul> |
| <li><code>--updater_health_check_interval_seconds</code>: Defaults to <code>3</code>, the time |
| interval between subsequent shard status checks.</li> |
| <li><code>--shards=SHARDS</code>: Defaults to None, which restarts all shards. |
| Otherwise, only the specified-by-id shards restart. They can be |
| comma-separated <code>(0, 8, 9)</code>, a range <code>(3-5)</code> or a |
| combination <code>(0, 3-5, 8, 9-11)</code>.</li> |
| <li><code>--batch_size</code>: Defaults to <code>1</code>, the number of shards to be started |
| in one iteration. So, for example, for value 3, it tries to restart |
| the first three shards specified by <code>--shards</code> simultaneously, then |
| the next three, and so on.</li> |
| <li><code>--max_per_shard_failures=MAX_PER_SHARD_FAILURES</code>: Defaults to <code>0</code>, |
| the maximum number of restarts per shard during restart. When |
| exceeded, it increments the total failure count.</li> |
| <li><code>--max_total_failures=MAX_TOTAL_FAILURES</code>: Defaults to <code>0</code>, the |
| maximum total number of shard failures tolerated during restart.</li> |
| <li><code>-o, --open_browser</code> Open a browser window to the scheduler UI Job |
| page after a job changing operation happens. When <code>False</code>, the Job |
| url prints on the console and the user has to copy/paste it |
| manually. Defaults to <code>False</code>. Does not work when running in Vagrant.</li> |
| <li><code>--restart_threshold</code>: Defaults to <code>60</code>, the maximum number of |
| seconds before a shard must move into the <code>RUNNING</code> state before |
| it’s considered a failure.</li> |
| <li><code>--watch_secs</code>: Defaults to <code>45</code>, the minimum number of seconds a |
| shard must remain in <code>RUNNING</code> state before considered a success.</li> |
| </ul> |
| |
| <h2 id="cron-jobs">Cron Jobs</h2> |
| |
| <p>You will see various commands and options relating to cron jobs in |
| <code>aurora -help</code> and similar. Ignore them, as they’re not yet implemented. |
| You might be able to use them without causing an error, but nothing happens |
| if you do.</p> |
| |
| <h2 id="comparing-jobs">Comparing Jobs</h2> |
| <pre class="highlight text">aurora diff <job_key> config |
| </pre> |
| <p>Compares a job configuration against a running job. By default the diff |
| is determined using <code>diff</code>, though you may choose an alternate |
| diff program by specifying the <code>DIFF_VIEWER</code> environment variable.</p> |
| |
| <p>There are two named parameters:</p> |
| |
| <ul> |
| <li><code>-E NAME=VALUE</code> Bind a Thermos mustache variable name to a |
| value. Multiple flags may be used to specify multiple values. |
| Defaults to <code>[]</code>.</li> |
| <li><code>-j, --json</code> Read the configuration argument in JSON format. |
| Defaults to <code>False</code>.</li> |
| </ul> |
| |
| <h2 id="viewing/examining-jobs">Viewing/Examining Jobs</h2> |
| |
| <p>Above we discussed creating, killing, and updating Jobs. Here we discuss |
| how to view and examine Jobs.</p> |
| |
| <h3 id="listing-jobs">Listing Jobs</h3> |
| <pre class="highlight text">aurora list_jobs |
| Usage: `aurora list_jobs cluster/role |
| </pre> |
| <p>Lists all Jobs registered with the Aurora scheduler in the named cluster for the named role.</p> |
| |
| <p>It has two named parameters:</p> |
| |
| <ul> |
| <li><code>--pretty</code>: Displays job information in prettyprinted format. |
| Defaults to <code>False</code>.</li> |
| <li><code>-c</code>, <code>--show-cron</code>: Shows cron schedule for jobs. Defaults to |
| <code>False</code>. Do not use, as it’s not yet implemented.</li> |
| </ul> |
| |
| <h3 id="inspecting-a-job">Inspecting a Job</h3> |
| <pre class="highlight text">aurora inspect <job_key> config |
| </pre> |
| <p><code>inspect</code> verifies that its specified job can be parsed from a |
| configuration file, and displays the parsed configuration. It has four |
| named parameters:</p> |
| |
| <ul> |
| <li><code>--local</code>: Inspect the configuration that the <code>spawn</code> command would |
| create, defaulting to <code>False</code>.</li> |
| <li><code>--raw</code>: Shows the raw configuration. Defaults to <code>False</code>.</li> |
| <li><code>-j</code>, <code>--json</code>: If specified, configuration is read in JSON format. |
| Defaults to <code>False</code>.</li> |
| <li><code>-E NAME=VALUE</code>: Bind a Thermos Mustache variable name to a value. |
| You can use multiple flags to specify multiple values. Defaults |
| to <code>[]</code></li> |
| </ul> |
| |
| <h3 id="versions">Versions</h3> |
| <pre class="highlight text">aurora version |
| </pre> |
| <p>Lists client build information and what Aurora API version it supports.</p> |
| |
| <h3 id="checking-your-quota">Checking Your Quota</h3> |
| <pre class="highlight text">aurora get_quota --cluster=CLUSTER role |
| </pre> |
| <p>Prints the production quota allocated to the role’s value at the given |
| cluster.</p> |
| |
| <h3 id="finding-a-job-on-web-ui">Finding a Job on Web UI</h3> |
| |
| <p>When you create a job, part of the output response contains a URL that goes |
| to the job’s scheduler UI page. For example:</p> |
| <pre class="highlight text">vagrant@precise64:~$ aurora create devcluster/www-data/prod/hello /vagrant/examples/jobs/hello_world.aurora |
| INFO] Creating job hello |
| INFO] Response from scheduler: OK (message: 1 new tasks pending for job www-data/prod/hello) |
| INFO] Job url: http://precise64:8081/scheduler/www-data/prod/hello |
| </pre> |
| <p>You can go to the scheduler UI page for this job via <code>http://precise64:8081/scheduler/www-data/prod/hello</code> |
| You can go to the overall scheduler UI page by going to the part of that URL that ends at <code>scheduler</code>; <code>http://precise64:8081/scheduler</code></p> |
| |
| <p>Once you click through to a role page, you see Jobs arranged |
| separately by pending jobs, active jobs and finished jobs. |
| Jobs are arranged by role, typically a service account for |
| production jobs and user accounts for test or development jobs.</p> |
| |
| <h3 id="getting-job-status">Getting Job Status</h3> |
| <pre class="highlight text">aurora status <job_key> |
| </pre> |
| <p>Returns the status of recent tasks associated with the |
| <code>job_key</code> specified Job in its supplied cluster. Typically this includes |
| a mix of active tasks (running or assigned) and inactive tasks |
| (successful, failed, and lost.)</p> |
| |
| <h3 id="opening-the-web-ui">Opening the Web UI</h3> |
| |
| <p>Use the Job’s web UI scheduler URL or the <code>aurora status</code> command to find out on which |
| machines individual tasks are scheduled. You can open the web UI via the |
| <code>open</code> command line command if invoked from your machine:</p> |
| <pre class="highlight text">aurora open [<cluster>[/<role>[/<env>/<job_name>]]] |
| </pre> |
| <p>If only the cluster is specified, it goes directly to that cluster’s |
| scheduler main page. If the role is specified, it goes to the top-level |
| role page. If the full job key is specified, it goes directly to the job |
| page where you can inspect individual tasks.</p> |
| |
| <h3 id="sshing-to-a-specific-task-machine">SSHing to a Specific Task Machine</h3> |
| <pre class="highlight text">aurora ssh <job_key> <shard number> |
| </pre> |
| <p>You can have the Aurora client ssh directly to the machine that has been |
| assigned a particular Job/shard number. This may be useful for quickly |
| diagnosing issues such as performance issues or abnormal behavior on a |
| particular machine.</p> |
| |
| <p>It can take three named parameters:</p> |
| |
| <ul> |
| <li><code>-e</code>, <code>--executor_sandbox</code>: Run <code>ssh</code> in the executor sandbox |
| instead of the task sandbox. Defaults to <code>False</code>.</li> |
| <li><code>--user=SSH_USER</code>: <code>ssh</code> as the given user instead of as the role in |
| the <code>job_key</code> argument. Defaults to none.</li> |
| <li><code>-L PORT:NAME</code>: Add tunnel from local port <code>PORT</code> to the remote |
| named port <code>NAME</code>. Defaults to <code>[]</code>.</li> |
| </ul> |
| |
| <h3 id="templating-command-arguments">Templating Command Arguments</h3> |
| <pre class="highlight text">aurora run [-e] [-t THREADS] <job_key> -- <<command-line>> |
| </pre> |
| <p>Given a job specification, run the supplied command on all hosts and |
| return the output. You may use the standard Mustache templating rules:</p> |
| |
| <ul> |
| <li><code>{{thermos.ports[name]}}</code> substitutes the specific named port of the |
| task assigned to this machine</li> |
| <li><code>{{mesos.instance}}</code> substitutes the shard id of the job’s task |
| assigned to this machine</li> |
| <li><code>{{thermos.task_id}}</code> substitutes the task id of the job’s task |
| assigned to this machine</li> |
| </ul> |
| |
| <p>For example, the following type of pattern can be a powerful diagnostic |
| tool:</p> |
| <pre class="highlight text">aurora run -t5 cluster1/tyg/devel/seizure -- \ |
| 'curl -s -m1 localhost:{{thermos.ports[http]}}/vars | grep uptime' |
| </pre> |
| <p>By default, the command runs in the Task’s sandbox. The <code>-e</code> option can |
| run the command in the executor’s sandbox. This is mostly useful for |
| Aurora administrators.</p> |
| |
| <p>You can parallelize the runs by using the <code>-t</code> option.</p> |
| |
| </div> |
| </div> |
| |
| <div class="container-fluid section-footer buffer"> |
| <div class="container"> |
| <div class="row"> |
| <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3> |
| <ul> |
| <li><a href="/downloads/">Downloads</a></li> |
| <li><a href="/community/">Mailing Lists</a></li> |
| <li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li> |
| <li><a href="/documentation/latest/contributing/">How To Contribute</a></li> |
| </ul> |
| </div> |
| <div class="col-md-2"><h3>The ASF</h3> |
| <ul> |
| <li><a href="http://www.apache.org/licenses/">License</a></li> |
| <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> |
| <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> |
| <li><a href="http://www.apache.org/security/">Security</a></li> |
| </ul> |
| </div> |
| <div class="col-md-6"> |
| <p class="disclaimer">Apache Aurora is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p> |
| <p class="disclaimer">Copyright 2014 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p> |
| </div> |
| </div> |
| </div> |
| </body> |
| </html> |