# Alluxio Job Service REST API Documentation HTTP://[Alluxio Job Master or Job Worker Hostname]/api/v1 The Alluxio Job Master is a component of the Job Service that coordinates Alluxio Job Workers to execute distributed tasks scheduled by the Alluxio system. The Alluxio Job Worker is a component of the Job Service that executes various I/O intensive tasks scheduled by the Alluxio system. # APIs ## /job_master/info ### GET <a id="getInfo">Get general job master service information</a> #### Request ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>raw_configuration</th> <td>query</td> <td>no</td> <td>Returns raw configuration values if true, false be default.</td> <td> - </td> <td>boolean </td> </tr> </table> #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | 200 | successful operation | <a href="#/definitions/AlluxioJobMasterInfo">AlluxioJobMasterInfo</a>| ## /job_master/logLevel ### POST <a id="logLevel"></a> #### Request ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>logName</th> <td>query</td> <td>no</td> <td></td> <td> - </td> <td>string </td> </tr> <tr> <th>level</th> <td>query</td> <td>no</td> <td></td> <td> - </td> <td>string </td> </tr> </table> #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | default | successful operation | - | ## /job_worker/info ### GET <a id="getInfo">Get general job worker service information</a> #### Request ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>raw_configuration</th> <td>query</td> <td>no</td> <td>Returns raw configuration values if true, false be default</td> <td> - </td> <td>boolean </td> </tr> </table> #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | 200 | successful operation | <a href="#/definitions/AlluxioJobWorkerInfo">AlluxioJobWorkerInfo</a>| ## /job_worker/logLevel ### POST <a id="logLevel"></a> #### Request ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>logName</th> <td>query</td> <td>no</td> <td></td> <td> - </td> <td>string </td> </tr> <tr> <th>level</th> <td>query</td> <td>no</td> <td></td> <td> - </td> <td>string </td> </tr> </table> #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | default | successful operation | - | ## /master/job/cancel ### POST <a id="cancel"></a> #### Request ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>jobId</th> <td>query</td> <td>no</td> <td></td> <td> - </td> <td>integer (int64)</td> </tr> </table> #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | default | successful operation | - | ## /master/job/get_status ### GET <a id="getStatus">Gets the status of a job</a> #### Request ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>jobId</th> <td>query</td> <td>no</td> <td></td> <td> - </td> <td>integer (int64)</td> </tr> </table> #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | 200 | successful operation | <a href="#/definitions/JobInfo">JobInfo</a>| ## /master/job/list ### GET <a id="list"></a> #### Request ##### Parameters <table border="1"> <tr> <th>Name</th> <th>Located in</th> <th>Required</th> <th>Description</th> <th>Default</th> <th>Schema</th> </tr> <tr> <th>status</th> <td>query</td> <td>no</td> <td></td> <td> - </td> <td>Array[string] (multi)</td> </tr> <tr> <th>name</th> <td>query</td> <td>no</td> <td></td> <td> - </td> <td>string </td> </tr> </table> #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | default | successful operation | - | ## /master/job/run ### POST <a id="run"></a> #### Request **Content-Type: ** application/json ##### Parameters #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | default | successful operation | - | ## /master/job/service_name ### GET <a id="getServiceName"></a> #### Request ##### Parameters #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | default | successful operation | - | ## /master/job/service_version ### GET <a id="getServiceVersion"></a> #### Request ##### Parameters #### Response **Content-Type: ** application/json | Status Code | Reason | Response Model | |-------------|-------------|----------------| | default | successful operation | - | # Definitions ## <a name="/definitions/AlluxioJobMasterInfo">AlluxioJobMasterInfo</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>example</th> </tr> <tr> <td>startTimeMs</td> <td> integer (int64) </td> <td>optional</td> <td>Job Master's start time in epoch time</td> <td></td> </tr> <tr> <td>uptimeMs</td> <td> integer (int64) </td> <td>optional</td> <td>Number of milliseconds the Job Master has been running</td> <td></td> </tr> <tr> <td>workers</td> <td> array[<a href="#/definitions/WorkerInfo">WorkerInfo</a>] </td> <td>optional</td> <td>List of Job Workers that have registered with the Job Master</td> <td></td> </tr> <tr> <td>configuration</td> <td> object </td> <td>optional</td> <td>Configuration of the Job Master</td> <td></td> </tr> <tr> <td>version</td> <td> string </td> <td>optional</td> <td>Version of the Job Master</td> <td></td> </tr> </table> ## <a name="/definitions/AlluxioJobWorkerInfo">AlluxioJobWorkerInfo</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>example</th> </tr> <tr> <td>startTimeMs</td> <td> integer (int64) </td> <td>optional</td> <td>Job Worker's start time in epoch time</td> <td></td> </tr> <tr> <td>uptimeMs</td> <td> integer (int64) </td> <td>optional</td> <td>Number of milliseconds the Job Worker has been running</td> <td></td> </tr> <tr> <td>configuration</td> <td> object </td> <td>optional</td> <td>Configuration of the Job Worker</td> <td></td> </tr> <tr> <td>version</td> <td> string </td> <td>optional</td> <td>Version of the Job Worker</td> <td></td> </tr> </table> ## <a name="/definitions/JobInfo">JobInfo</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>example</th> </tr> <tr> <td>errorMessage</td> <td> string </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>errorType</td> <td> string </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>parentId</td> <td> integer (int64) </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>affectedPaths</td> <td> array[string] </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>name</td> <td> string </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>id</td> <td> integer (int64) </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>result</td> <td> <a href="#/definitions/Serializable">Serializable</a> </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>children</td> <td> array[<a href="#/definitions/JobInfo">JobInfo</a>] </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>description</td> <td> string </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>status</td> <td> string </td> <td>optional</td> <td>-</td> <td></td> </tr> <tr> <td>lastUpdated</td> <td> integer (int64) </td> <td>optional</td> <td>-</td> <td></td> </tr> </table> ## <a name="/definitions/LocalityTier">LocalityTier</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>example</th> </tr> <tr> <td>tierName</td> <td> string </td> <td>optional</td> <td>Name of the tier</td> <td>host</td> </tr> <tr> <td>value</td> <td> string </td> <td>optional</td> <td>Value of the tier name</td> <td>localhost</td> </tr> </table> ## <a name="/definitions/Serializable">Serializable</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>example</th> </tr> </table> ## <a name="/definitions/TieredIdentity">TieredIdentity</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>example</th> </tr> <tr> <td>tiers</td> <td> array[<a href="#/definitions/LocalityTier">LocalityTier</a>] </td> <td>optional</td> <td>Tiers included in the tier identity</td> <td></td> </tr> </table> ## <a name="/definitions/WorkerInfo">WorkerInfo</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>example</th> </tr> <tr> <td>revision</td> <td> string </td> <td>optional</td> <td>Git revision at the time of building the worker</td> <td></td> </tr> <tr> <td>startTimeMs</td> <td> integer (int64) </td> <td>optional</td> <td>Start time of the worker in epoch time in milliseconds</td> <td></td> </tr> <tr> <td>lastContactSec</td> <td> integer (int32) </td> <td>optional</td> <td>Seconds since the worker's last contact</td> <td></td> </tr> <tr> <td>capacityBytesOnTiers</td> <td> object </td> <td>optional</td> <td>The max capacity of each of the worker's tiers in bytes</td> <td></td> </tr> <tr> <td>capacityBytes</td> <td> integer (int64) </td> <td>optional</td> <td>Size of the worker's local storage in bytes</td> <td></td> </tr> <tr> <td>usedBytes</td> <td> integer (int64) </td> <td>optional</td> <td>Number of bytes used of the worker's local storage</td> <td></td> </tr> <tr> <td>usedBytesOnTiers</td> <td> object </td> <td>optional</td> <td>The number of bytes currently used on each of the worker's tiers</td> <td></td> </tr> <tr> <td>blockCount</td> <td> integer (int64) </td> <td>optional</td> <td>Number of worker block count</td> <td></td> </tr> <tr> <td>state</td> <td> string </td> <td>optional</td> <td>Operation state of the worker</td> <td>In Service</td> </tr> <tr> <td>address</td> <td> <a href="#/definitions/WorkerNetAddress">WorkerNetAddress</a> </td> <td>optional</td> <td>Address of the worker</td> <td></td> </tr> <tr> <td>id</td> <td> integer (int64) </td> <td>optional</td> <td>Worker id, used to identify the worker internally</td> <td></td> </tr> <tr> <td>version</td> <td> string </td> <td>optional</td> <td>The project version of the worker</td> <td></td> </tr> </table> ## <a name="/definitions/WorkerNetAddress">WorkerNetAddress</a> <table border="1"> <tr> <th>name</th> <th>type</th> <th>required</th> <th>description</th> <th>example</th> </tr> <tr> <td>containerHost</td> <td> string </td> <td>optional</td> <td>Host name of the physical node if running in a container</td> <td></td> </tr> <tr> <td>rpcPort</td> <td> integer (int32) </td> <td>optional</td> <td>Port of the worker's Rpc server for metadata operations</td> <td></td> </tr> <tr> <td>dataPort</td> <td> integer (int32) </td> <td>optional</td> <td>Port of the worker's server for data operations</td> <td></td> </tr> <tr> <td>webPort</td> <td> integer (int32) </td> <td>optional</td> <td>Port which exposes the worker's web UI</td> <td></td> </tr> <tr> <td>domainSocketPath</td> <td> string </td> <td>optional</td> <td>The domain socket path used by the worker, disabled if empty</td> <td></td> </tr> <tr> <td>tieredIdentity</td> <td> <a href="#/definitions/TieredIdentity">TieredIdentity</a> </td> <td>optional</td> <td>The worker's tier identity</td> <td></td> </tr> <tr> <td>host</td> <td> string </td> <td>optional</td> <td>Host name of the worker</td> <td></td> </tr> </table>