Data Processing API v1.1

集群模板

集群模板配置 Hadoop 集群。集群模板列出了包含各组实例数的节点组。您还可以在集群模板中定义集群范围的配置。

GET
/v1.1/{project_id}/cluster-templates/{cluster_template_id}

显示集群模板详细信息

显示集群模板的详细信息。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_template_id

路径

字符串

集群模板的唯一标识符。

响应参数

名称

入参

类型

描述

description (可选)

body

字符串

集群模板的描述

use_autoconfig

body

布尔值

如果设置为 true,则集群将自动配置。

cluster_configs

body

对象

包含集群配置的键值对集合。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

default_image_id

body

字符串

默认镜像 ID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

plugin_name

body

字符串

插件名称。

is_default

body

布尔值

如果设置为 true,则该集群是默认集群。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

共享

body

字符串

集群中资源的共享。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

tenant_id

body

字符串

租户的 UUID。

node_groups

body

对象

节点详细属性的键值对。

is_public

body

布尔值

如果设置为 true,则对象为公共。

hadoop_version

body

字符串

集群中使用的 Hadoop 版本。

id

body

字符串

集群模板的 UUID。

name

body

字符串

集群模板的名称。

响应示例

{
    "cluster_templates": [
        {
            "is_public": false,
            "anti_affinity": [],
            "name": "cluster-template",
            "created_at": "2015-09-14T10:38:44",
            "tenant_id": "808d5032ea0446889097723bfc8e919d",
            "cluster_configs": {},
            "shares": null,
            "id": "57c92a7c-5c6a-42ea-9c6f-9f40a5aa4b36",
            "default_image_id": null,
            "is_default": false,
            "updated_at": null,
            "plugin_name": "vanilla",
            "node_groups": [
                {
                    "image_id": null,
                    "shares": null,
                    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                    "node_configs": {},
                    "auto_security_group": false,
                    "availability_zone": null,
                    "count": 1,
                    "flavor_id": "2",
                    "id": "1751c04e-8f39-467e-a421-480961172d4b",
                    "security_groups": null,
                    "use_autoconfig": true,
                    "volumes_availability_zone": null,
                    "created_at": "2015-09-14T10:38:44",
                    "node_group_template_id": "0bb9f1a4-0c44-4dc5-9452-6741c62ed9ae",
                    "updated_at": null,
                    "volumes_per_node": 0,
                    "is_proxy_gateway": false,
                    "name": "master",
                    "volume_mount_prefix": "/volumes/disk",
                    "node_processes": [
                        "namenode",
                        "resourcemanager",
                        "oozie",
                        "historyserver"
                    ],
                    "volumes_size": 0,
                    "volume_local_to_instance": false,
                    "volume_type": null
                },
                {
                    "image_id": null,
                    "shares": null,
                    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                    "node_configs": {},
                    "auto_security_group": false,
                    "availability_zone": null,
                    "count": 3,
                    "flavor_id": "2",
                    "id": "3ee85068-c455-4391-9db2-b54a20b99df3",
                    "security_groups": null,
                    "use_autoconfig": true,
                    "volumes_availability_zone": null,
                    "created_at": "2015-09-14T10:38:44",
                    "node_group_template_id": "846edb31-add5-46e6-a4ee-a4c339f99251",
                    "updated_at": null,
                    "volumes_per_node": 0,
                    "is_proxy_gateway": false,
                    "name": "worker",
                    "volume_mount_prefix": "/volumes/disk",
                    "node_processes": [
                        "datanode",
                        "nodemanager"
                    ],
                    "volumes_size": 0,
                    "volume_local_to_instance": false,
                    "volume_type": null
                }
            ],
            "neutron_management_network": "b1610452-2933-46b0-bf31-660cfa5621bd",
            "domain_name": null,
            "hadoop_version": "2.7.1",
            "use_autoconfig": true,
            "description": null,
            "is_protected": false
        },
        {
            "is_public": true,
            "anti_affinity": [],
            "name": "asd",
            "created_at": "2015-08-18T08:39:39",
            "tenant_id": "808d5032ea0446889097723bfc8e919d",
            "cluster_configs": {
                "general": {}
            },
            "shares": null,
            "id": "5a9c787c-2078-4f7d-9a66-27759be9051b",
            "default_image_id": null,
            "is_default": false,
            "updated_at": "2015-09-14T08:41:15",
            "plugin_name": "vanilla",
            "node_groups": [
                {
                    "image_id": null,
                    "shares": null,
                    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                    "node_configs": {},
                    "auto_security_group": true,
                    "availability_zone": "",
                    "count": 1,
                    "flavor_id": "2",
                    "id": "a65864dd-3f99-4d29-a011-f7711cc23fa0",
                    "security_groups": [],
                    "use_autoconfig": true,
                    "volumes_availability_zone": null,
                    "created_at": "2015-08-18T08:39:39",
                    "node_group_template_id": "42ce49de-1b8f-41d5-8f4a-244ec0826d92",
                    "updated_at": null,
                    "volumes_per_node": 1,
                    "is_proxy_gateway": false,
                    "name": "asd",
                    "volume_mount_prefix": "/volumes/disk",
                    "node_processes": [
                        "namenode",
                        "jobtracker"
                    ],
                    "volumes_size": 10,
                    "volume_local_to_instance": false,
                    "volume_type": null
                }
            ],
            "neutron_management_network": null,
            "domain_name": null,
            "hadoop_version": "2.7.1",
            "use_autoconfig": true,
            "description": "",
            "is_protected": false
        }
    ],
    "markers": {
        "prev": null,
        "next": "2c76e0d3-56cd-4d28-bb4f-4808e538c7b9"
    }
}
PUT
/v1.1/{project_id}/cluster-templates/{cluster_template_id}

更新集群模板

更新集群模板。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_template_id

body

字符串

集群模板的 UUID。

请求示例

{
    "description": "Updated template",
    "plugin_name": "vanilla",
    "hadoop_version": "2.7.1",
    "name": "vanilla-updated",
    "cluster_configs": {
        "HDFS": {
            "dfs.replication": 2
        }
    }
}

响应参数

名称

入参

类型

描述

description (可选)

body

字符串

集群模板的描述

use_autoconfig

body

布尔值

如果设置为 true,则集群将自动配置。

cluster_configs

body

对象

包含集群配置的键值对集合。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

default_image_id

body

字符串

默认镜像 ID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

plugin_name

body

字符串

插件名称。

is_default

body

布尔值

如果设置为 true,则该集群是默认集群。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

共享

body

字符串

集群中资源的共享。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

tenant_id

body

字符串

租户的 UUID。

node_groups

body

对象

节点详细属性的键值对。

is_public

body

布尔值

如果设置为 true,则对象为公共。

hadoop_version

body

字符串

集群中使用的 Hadoop 版本。

id

body

字符串

集群模板的 UUID。

name

body

字符串

集群模板的名称。

DELETE
/v1.1/{project_id}/cluster-templates/{cluster_template_id}

删除集群模板

删除集群模板。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_template_id

body

字符串

集群模板的 UUID。

GET
/v1.1/{project_id}/cluster-templates

列出集群模板

列出可用的集群模板。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

limit (可选)

路径

整数

响应数据中的最大对象数。

marker (可选)

路径

字符串

列表中最后一个元素的 ID,该元素不会包含在响应中。

sort_by (可选)

路径

字符串

用于对集群模板进行排序的字段。此参数接受以下值:nameplugin_namehadoop_versioncreated_atupdated_atid。这些值也可以以 - 前缀开头以进行降序排序。例如:-name

响应参数

名称

入参

类型

描述

markers (可选)

body

对象

数据前一页和后一页的标记。如果请求中传递了 limit,则此字段存在。

prev (可选)

body

字符串

前一页的标记。如果前一页是第一页或当前页是第一页,则可能为 null

next(可选)

body

字符串

列表数据的下一页的标记。

description (可选)

body

字符串

集群模板的描述

use_autoconfig

body

布尔值

如果设置为 true,则集群将自动配置。

cluster_configs

body

对象

包含集群配置的键值对集合。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

default_image_id

body

字符串

默认镜像 ID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

plugin_name

body

字符串

插件名称。

is_default

body

布尔值

如果设置为 true,则该集群是默认集群。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

共享

body

字符串

集群中资源的共享。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

tenant_id

body

字符串

租户的 UUID。

node_groups

body

对象

节点详细属性的键值对。

is_public

body

布尔值

如果设置为 true,则对象为公共。

hadoop_version

body

字符串

集群中使用的 Hadoop 版本。

id

body

字符串

集群模板的 UUID。

name

body

字符串

集群模板的名称。

GET
/v1.1/{project_id}/cluster-templates?limit=2

响应示例

{
    "cluster_templates": [
        {
            "is_public": false,
            "anti_affinity": [],
            "name": "cluster-template",
            "created_at": "2015-09-14T10:38:44",
            "tenant_id": "808d5032ea0446889097723bfc8e919d",
            "cluster_configs": {},
            "shares": null,
            "id": "57c92a7c-5c6a-42ea-9c6f-9f40a5aa4b36",
            "default_image_id": null,
            "is_default": false,
            "updated_at": null,
            "plugin_name": "vanilla",
            "node_groups": [
                {
                    "image_id": null,
                    "shares": null,
                    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                    "node_configs": {},
                    "auto_security_group": false,
                    "availability_zone": null,
                    "count": 1,
                    "flavor_id": "2",
                    "id": "1751c04e-8f39-467e-a421-480961172d4b",
                    "security_groups": null,
                    "use_autoconfig": true,
                    "volumes_availability_zone": null,
                    "created_at": "2015-09-14T10:38:44",
                    "node_group_template_id": "0bb9f1a4-0c44-4dc5-9452-6741c62ed9ae",
                    "updated_at": null,
                    "volumes_per_node": 0,
                    "is_proxy_gateway": false,
                    "name": "master",
                    "volume_mount_prefix": "/volumes/disk",
                    "node_processes": [
                        "namenode",
                        "resourcemanager",
                        "oozie",
                        "historyserver"
                    ],
                    "volumes_size": 0,
                    "volume_local_to_instance": false,
                    "volume_type": null
                },
                {
                    "image_id": null,
                    "shares": null,
                    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                    "node_configs": {},
                    "auto_security_group": false,
                    "availability_zone": null,
                    "count": 3,
                    "flavor_id": "2",
                    "id": "3ee85068-c455-4391-9db2-b54a20b99df3",
                    "security_groups": null,
                    "use_autoconfig": true,
                    "volumes_availability_zone": null,
                    "created_at": "2015-09-14T10:38:44",
                    "node_group_template_id": "846edb31-add5-46e6-a4ee-a4c339f99251",
                    "updated_at": null,
                    "volumes_per_node": 0,
                    "is_proxy_gateway": false,
                    "name": "worker",
                    "volume_mount_prefix": "/volumes/disk",
                    "node_processes": [
                        "datanode",
                        "nodemanager"
                    ],
                    "volumes_size": 0,
                    "volume_local_to_instance": false,
                    "volume_type": null
                }
            ],
            "neutron_management_network": "b1610452-2933-46b0-bf31-660cfa5621bd",
            "domain_name": null,
            "hadoop_version": "2.7.1",
            "use_autoconfig": true,
            "description": null,
            "is_protected": false
        },
        {
            "is_public": true,
            "anti_affinity": [],
            "name": "asd",
            "created_at": "2015-08-18T08:39:39",
            "tenant_id": "808d5032ea0446889097723bfc8e919d",
            "cluster_configs": {
                "general": {}
            },
            "shares": null,
            "id": "5a9c787c-2078-4f7d-9a66-27759be9051b",
            "default_image_id": null,
            "is_default": false,
            "updated_at": "2015-09-14T08:41:15",
            "plugin_name": "vanilla",
            "node_groups": [
                {
                    "image_id": null,
                    "shares": null,
                    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                    "node_configs": {},
                    "auto_security_group": true,
                    "availability_zone": "",
                    "count": 1,
                    "flavor_id": "2",
                    "id": "a65864dd-3f99-4d29-a011-f7711cc23fa0",
                    "security_groups": [],
                    "use_autoconfig": true,
                    "volumes_availability_zone": null,
                    "created_at": "2015-08-18T08:39:39",
                    "node_group_template_id": "42ce49de-1b8f-41d5-8f4a-244ec0826d92",
                    "updated_at": null,
                    "volumes_per_node": 1,
                    "is_proxy_gateway": false,
                    "name": "asd",
                    "volume_mount_prefix": "/volumes/disk",
                    "node_processes": [
                        "namenode",
                        "jobtracker"
                    ],
                    "volumes_size": 10,
                    "volume_local_to_instance": false,
                    "volume_type": null
                }
            ],
            "neutron_management_network": null,
            "domain_name": null,
            "hadoop_version": "2.7.1",
            "use_autoconfig": true,
            "description": "",
            "is_protected": false
        }
    ],
    "markers": {
        "prev": null,
        "next": "2c76e0d3-56cd-4d28-bb4f-4808e538c7b9"
    }
}
POST
/v1.1/{project_id}/cluster-templates

创建集群模板

创建集群模板。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

body

字符串

项目的 UUID。

请求示例

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.7.1",
    "node_groups": [
        {
            "name": "worker",
            "count": 3,
            "node_group_template_id": "846edb31-add5-46e6-a4ee-a4c339f99251"
        },
        {
            "name": "master",
            "count": 1,
            "node_group_template_id": "0bb9f1a4-0c44-4dc5-9452-6741c62ed9ae"
        }
    ],
    "name": "cluster-template"
}

响应参数

名称

入参

类型

描述

description (可选)

body

字符串

集群模板的描述

use_autoconfig

body

布尔值

如果设置为 true,则集群将自动配置。

cluster_configs

body

对象

包含集群配置的键值对集合。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

default_image_id

body

字符串

默认镜像 ID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

plugin_name

body

字符串

插件名称。

is_default

body

布尔值

如果设置为 true,则该集群是默认集群。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

共享

body

字符串

集群中资源的共享。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

tenant_id

body

字符串

租户的 UUID。

node_groups

body

对象

节点详细属性的键值对。

is_public

body

布尔值

如果设置为 true,则对象为公共。

hadoop_version

body

字符串

集群中使用的 Hadoop 版本。

id

body

字符串

集群模板的 UUID。

name

body

字符串

集群模板的名称。

集群 (Clusters)

集群是具有相同配置的节点组。

GET
/v1.1/{project_id}/clusters

列出可用集群

列出可用集群。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

limit (可选)

路径

整数

响应数据中的最大对象数。

marker (可选)

路径

字符串

列表中最后一个元素的 ID,该元素不会包含在响应中。

sort_by (可选)

路径

字符串

用于对集群进行排序的字段。此参数接受以下值:nameplugin_namehadoop_versionstatusid。这些值也可以以 - 前缀开头以进行降序排序。例如:-name

响应参数

名称

入参

类型

描述

markers (可选)

body

对象

数据前一页和后一页的标记。如果请求中传递了 limit,则此字段存在。

prev (可选)

body

字符串

前一页的标记。如果前一页是第一页或当前页是第一页,则可能为 null

next(可选)

body

字符串

列表数据的下一页的标记。

count

body

整数

集群中的节点数。

info

body

对象

包含集群信息的键值对集合。

cluster_template_id

body

字符串

集群模板的 UUID。

is_transient

body

布尔值

如果设置为 true,则集群是临时的。

provision_progress

body

数组

集群进度的列表。

status

body

字符串

集群的状态。

neutron_management_network

body

字符串

Neutron 管理网络的 UUID。

clusters

body

数组

集群列表。

management_public_key

body

字符串

管理网络的 SSH 密钥。

status_description

body

字符串

集群状态的描述。

trust_id

body

整数

信任的 ID。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

GET
/v1.1/{project_id}/clusters

响应示例

{
    "clusters": [
        {
            "is_public": false,
            "tenant_id": "808d5032ea0446889097723bfc8e919d",
            "shares": null,
            "domain_name": null,
            "status_description": "",
            "plugin_name": "vanilla",
            "neutron_management_network": "b1610452-2933-46b0-bf31-660cfa5621bd",
            "info": {
                "YARN": {
                    "Web UI": "http://172.18.168.115:8088",
                    "ResourceManager": "http://172.18.168.115:8032"
                },
                "HDFS": {
                    "Web UI": "http://172.18.168.115:50070",
                    "NameNode": "hdfs://vanilla-cluster-master-0:9000"
                },
                "JobFlow": {
                    "Oozie": "http://172.18.168.115:11000"
                },
                "MapReduce JobHistory Server": {
                    "Web UI": "http://172.18.168.115:19888"
                }
            },
            "user_keypair_id": "apavlov",
            "management_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfe9ARO+t9CybtuC1+cusDTeQL7wos1+U2dKPlCUJvNUn0PcunGefqWI4MUZPY9yGmvRqfINy7/xRQCzL0AwgqzwcCXamcK8JCC80uH7j8Vxa4kJheG1jxMoz/FpDSdRnzNZ+m7H5rjOwAQANhL7KatGLyCPQg9fqOoaIyCZE/A3fztm/XjJMpWnuANpUZubZtISEfu4UZKVk/DPSlBrbTZkTOvEog1LwZCZoTt0rq6a7PJFzJJkq0YecRudu/f3tpXbNe/F84sd9PhOSqcrRbm72WzglyEE8PuS1kuWpEz8G+Y5/0tQxnoh6khj9mgflrdCFuvpdutFLH4eN5MFDh Generated-by-Sahara\n",
            "id": "e172d86c-906d-418e-a29c-6189f53bfa42",
            "cluster_template_id": "57c92a7c-5c6a-42ea-9c6f-9f40a5aa4b36",
            "node_groups": [
                {
                    "image_id": null,
                    "shares": null,
                    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                    "node_configs": {
                        "YARN": {
                            "yarn.nodemanager.vmem-check-enabled": "false",
                            "yarn.scheduler.maximum-allocation-mb": 2048,
                            "yarn.scheduler.minimum-allocation-mb": 256,
                            "yarn.nodemanager.resource.memory-mb": 2048
                        },
                        "MapReduce": {
                            "yarn.app.mapreduce.am.resource.mb": 256,
                            "mapreduce.task.io.sort.mb": 102,
                            "mapreduce.reduce.java.opts": "-Xmx409m",
                            "mapreduce.reduce.memory.mb": 512,
                            "mapreduce.map.memory.mb": 256,
                            "yarn.app.mapreduce.am.command-opts": "-Xmx204m",
                            "mapreduce.map.java.opts": "-Xmx204m"
                        }
                    },
                    "auto_security_group": false,
                    "availability_zone": null,
                    "count": 1,
                    "flavor_id": "2",
                    "id": "0fe07f2a-0275-4bc0-93b2-c3c1e48e2815",
                    "security_groups": null,
                    "use_autoconfig": true,
                    "instances": [
                        {
                            "created_at": "2015-09-14T10:57:36",
                            "id": "4867d92e-cc7b-4cde-9a1a-149e91caa491",
                            "management_ip": "172.18.168.115",
                            "updated_at": "2015-09-14T10:57:39",
                            "instance_id": "b9f16a07-88fc-423e-83a3-489598fe6737",
                            "internal_ip": "10.50.0.60",
                            "instance_name": "vanilla-cluster-master-0"
                        }
                    ],
                    "volumes_availability_zone": null,
                    "created_at": "2015-09-14T10:57:11",
                    "node_group_template_id": "0bb9f1a4-0c44-4dc5-9452-6741c62ed9ae",
                    "updated_at": "2015-09-14T10:57:36",
                    "volumes_per_node": 0,
                    "is_proxy_gateway": false,
                    "name": "master",
                    "volume_mount_prefix": "/volumes/disk",
                    "node_processes": [
                        "namenode",
                        "resourcemanager",
                        "oozie",
                        "historyserver"
                    ],
                    "volumes_size": 0,
                    "volume_local_to_instance": false,
                    "volume_type": null
                },
                {
                    "image_id": null,
                    "shares": null,
                    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                    "node_configs": {
                        "YARN": {
                            "yarn.nodemanager.vmem-check-enabled": "false",
                            "yarn.scheduler.maximum-allocation-mb": 2048,
                            "yarn.scheduler.minimum-allocation-mb": 256,
                            "yarn.nodemanager.resource.memory-mb": 2048
                        },
                        "MapReduce": {
                            "yarn.app.mapreduce.am.resource.mb": 256,
                            "mapreduce.task.io.sort.mb": 102,
                            "mapreduce.reduce.java.opts": "-Xmx409m",
                            "mapreduce.reduce.memory.mb": 512,
                            "mapreduce.map.memory.mb": 256,
                            "yarn.app.mapreduce.am.command-opts": "-Xmx204m",
                            "mapreduce.map.java.opts": "-Xmx204m"
                        }
                    },
                    "auto_security_group": false,
                    "availability_zone": null,
                    "count": 3,
                    "flavor_id": "2",
                    "id": "c7a3bea4-c898-446b-8c67-6d378d4c06c4",
                    "security_groups": null,
                    "use_autoconfig": true,
                    "instances": [
                        {
                            "created_at": "2015-09-14T10:57:37",
                            "id": "f3633b30-c1e4-4144-930b-ab5b780b87be",
                            "management_ip": "172.18.168.118",
                            "updated_at": "2015-09-14T10:57:39",
                            "instance_id": "0cf1ee81-aa72-48da-be2c-65bc2fa51f8f",
                            "internal_ip": "10.50.0.63",
                            "instance_name": "vanilla-cluster-worker-0"
                        },
                        {
                            "created_at": "2015-09-14T10:57:37",
                            "id": "0d66fd93-f277-4a94-b46a-f5866aa0c38f",
                            "management_ip": "172.18.168.117",
                            "updated_at": "2015-09-14T10:57:40",
                            "instance_id": "4a937391-b594-4ad0-9a53-00a99a691383",
                            "internal_ip": "10.50.0.62",
                            "instance_name": "vanilla-cluster-worker-1"
                        },
                        {
                            "created_at": "2015-09-14T10:57:37",
                            "id": "0982cefd-5c58-436e-8f1e-c1d0830f18a7",
                            "management_ip": "172.18.168.116",
                            "updated_at": "2015-09-14T10:57:40",
                            "instance_id": "839b1d56-6d0d-4aa4-9d05-30e029c276f8",
                            "internal_ip": "10.50.0.61",
                            "instance_name": "vanilla-cluster-worker-2"
                        }
                    ],
                    "volumes_availability_zone": null,
                    "created_at": "2015-09-14T10:57:11",
                    "node_group_template_id": "846edb31-add5-46e6-a4ee-a4c339f99251",
                    "updated_at": "2015-09-14T10:57:37",
                    "volumes_per_node": 0,
                    "is_proxy_gateway": false,
                    "name": "worker",
                    "volume_mount_prefix": "/volumes/disk",
                    "node_processes": [
                        "datanode",
                        "nodemanager"
                    ],
                    "volumes_size": 0,
                    "volume_local_to_instance": false,
                    "volume_type": null
                }
            ],
            "provision_progress": [
                {
                    "created_at": "2015-09-14T10:57:18",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "0a6d95f9-30f4-4434-823a-a38a7999a5af",
                    "step_type": "Engine: create cluster",
                    "step_name": "Create Heat stack",
                    "updated_at": "2015-09-14T10:57:38",
                    "successful": true,
                    "total": 1,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T10:58:16",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "29f2b587-c34c-4871-9ed9-9235b411cd9a",
                    "step_type": "Engine: create cluster",
                    "step_name": "Configure instances",
                    "updated_at": "2015-09-14T10:58:22",
                    "successful": true,
                    "total": 4,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T11:00:27",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "36f1efde-90f9-41c1-b409-aa1cf9623e3e",
                    "step_type": "Plugin: start cluster",
                    "step_name": "Start the following process(es): Oozie",
                    "updated_at": "2015-09-14T11:01:15",
                    "successful": true,
                    "total": 1,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T10:58:22",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "602bcc27-3a2d-42c8-8aca-ebc475319c72",
                    "step_type": "Plugin: configure cluster",
                    "step_name": "Configure instances",
                    "updated_at": "2015-09-14T10:59:21",
                    "successful": true,
                    "total": 4,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T10:59:21",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "7e291df1-2d32-410d-ae89-33ab6f83cf17",
                    "step_type": "Plugin: configure cluster",
                    "step_name": "Configure topology data",
                    "updated_at": "2015-09-14T10:59:37",
                    "successful": true,
                    "total": 1,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T11:00:01",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "8ab7933c-ad61-4a4f-88db-23ce78ee10f6",
                    "step_type": "Plugin: start cluster",
                    "step_name": "Start the following process(es): DataNodes, NodeManagers",
                    "updated_at": "2015-09-14T11:00:11",
                    "successful": true,
                    "total": 3,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T11:00:11",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "9c8dc016-8c5b-4e80-9857-80c41f6bd971",
                    "step_type": "Plugin: start cluster",
                    "step_name": "Await DataNodes start up",
                    "updated_at": "2015-09-14T11:00:21",
                    "successful": true,
                    "total": 1,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T11:00:21",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "c6327532-222b-416c-858f-73dbb32b8e97",
                    "step_type": "Plugin: start cluster",
                    "step_name": "Start the following process(es): HistoryServer",
                    "updated_at": "2015-09-14T11:00:27",
                    "successful": true,
                    "total": 1,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T10:57:41",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "d3eca726-8b44-473a-ac29-fba45a893725",
                    "step_type": "Engine: create cluster",
                    "step_name": "Wait for instance accessibility",
                    "updated_at": "2015-09-14T10:58:14",
                    "successful": true,
                    "total": 4,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T10:58:14",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "d7a875ff-64bf-41aa-882d-b5061c8ee152",
                    "step_type": "Engine: create cluster",
                    "step_name": "Mount volumes to instances",
                    "updated_at": "2015-09-14T10:58:15",
                    "successful": true,
                    "total": 0,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T10:59:55",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "ded7d227-10b8-4cb0-ab6c-25da1462bb7a",
                    "step_type": "Plugin: start cluster",
                    "step_name": "Start the following process(es): ResourceManager",
                    "updated_at": "2015-09-14T11:00:00",
                    "successful": true,
                    "total": 1,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T10:59:38",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "e1701ff5-930a-4212-945a-43515dfe24d1",
                    "step_type": "Plugin: start cluster",
                    "step_name": "Start the following process(es): NameNode",
                    "updated_at": "2015-09-14T10:59:54",
                    "successful": true,
                    "total": 1,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                },
                {
                    "created_at": "2015-09-14T10:57:38",
                    "tenant_id": "808d5032ea0446889097723bfc8e919d",
                    "id": "eaf0ab1b-bf8f-48f0-8f2c-fa4f82f539b9",
                    "step_type": "Engine: create cluster",
                    "step_name": "Assign IPs",
                    "updated_at": "2015-09-14T10:57:41",
                    "successful": true,
                    "total": 4,
                    "cluster_id": "e172d86c-906d-418e-a29c-6189f53bfa42"
                }
            ],
            "hadoop_version": "2.7.1",
            "use_autoconfig": true,
            "trust_id": null,
            "description": null,
            "created_at": "2015-09-14T10:57:11",
            "is_protected": false,
            "updated_at": "2015-09-14T11:01:15",
            "is_transient": false,
            "cluster_configs": {
                "HDFS": {
                    "dfs.replication": 3
                }
            },
            "anti_affinity": [],
            "name": "vanilla-cluster",
            "default_image_id": "4118a476-dfdc-4b0e-8d5c-463cba08e9ae",
            "status": "Active"
        }
    ]
}
POST
/v1.1/{project_id}/clusters

创建集群

创建集群。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

请求示例

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.7.1",
    "cluster_template_id": "57c92a7c-5c6a-42ea-9c6f-9f40a5aa4b36",
    "default_image_id": "4118a476-dfdc-4b0e-8d5c-463cba08e9ae",
    "user_keypair_id": "test",
    "name": "vanilla-cluster",
    "neutron_management_network": "b1610452-2933-46b0-bf31-660cfa5621bd"
}

响应参数

名称

入参

类型

描述

count

body

整数

集群中的节点数。

info

body

对象

包含集群信息的键值对集合。

cluster_template_id

body

字符串

集群模板的 UUID。

is_transient

body

布尔值

如果设置为 true,则集群是临时的。

provision_progress

body

数组

集群进度的列表。

status

body

字符串

集群的状态。

neutron_management_network

body

字符串

Neutron 管理网络的 UUID。

management_public_key

body

字符串

管理网络的 SSH 密钥。

status_description

body

字符串

集群状态的描述。

trust_id

body

整数

信任的 ID。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

POST
/v1.1/{project_id}/clusters/multiple

创建多个集群

创建多个集群。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

请求示例

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.6.0",
    "cluster_template_id": "9951f86d-57ba-43d6-9cb0-14ed2ec7a6cf",
    "default_image_id": "bc3c3d3c-2684-4bf8-a9fa-388fb71288a9",
    "user_keypair_id": "test",
    "name": "def-cluster",
    "count": 2,
    "cluster_configs": {},
    "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076"
}
GET
/v1.1/{project_id}/clusters/{cluster_id}

显示集群详细信息

按 ID 显示集群的详细信息。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_id

路径

字符串

集群的 ID

响应参数

名称

入参

类型

描述

count

body

整数

集群中的节点数。

info

body

对象

包含集群信息的键值对集合。

cluster_template_id

body

字符串

集群模板的 UUID。

is_transient

body

布尔值

如果设置为 true,则集群是临时的。

provision_progress

body

数组

集群进度的列表。

status

body

字符串

集群的状态。

neutron_management_network

body

字符串

Neutron 管理网络的 UUID。

management_public_key

body

字符串

管理网络的 SSH 密钥。

status_description

body

字符串

集群状态的描述。

trust_id

body

整数

信任的 ID。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

响应示例

{
    "cluster": {
        "is_public": false,
        "tenant_id": "808d5032ea0446889097723bfc8e919d",
        "shares": null,
        "domain_name": null,
        "status_description": "",
        "plugin_name": "vanilla",
        "neutron_management_network": "b1610452-2933-46b0-bf31-660cfa5621bd",
        "info": {},
        "user_keypair_id": "test",
        "management_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfe9ARO+t9CybtuC1+cusDTeQL7wos1+U2dKPlCUJvNUn0PcunGefqWI4MUZPY9yGmvRqfINy7/xRQCzL0AwgqzwcCXamcK8JCC80uH7j8Vxa4kJheG1jxMoz/FpDSdRnzNZ+m7H5rjOwAQANhL7KatGLyCPQg9fqOoaIyCZE/A3fztm/XjJMpWnuANpUZubZtISEfu4UZKVk/DPSlBrbTZkTOvEog1LwZCZoTt0rq6a7PJFzJJkq0YecRudu/f3tpXbNe/F84sd9PhOSqcrRbm72WzglyEE8PuS1kuWpEz8G+Y5/0tQxnoh6khj9mgflrdCFuvpdutFLH4eN5MFDh Generated-by-Sahara\n",
        "id": "e172d86c-906d-418e-a29c-6189f53bfa42",
        "cluster_template_id": "57c92a7c-5c6a-42ea-9c6f-9f40a5aa4b36",
        "node_groups": [
            {
                "image_id": null,
                "shares": null,
                "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                "node_configs": {
                    "YARN": {
                        "yarn.nodemanager.vmem-check-enabled": "false",
                        "yarn.scheduler.maximum-allocation-mb": 2048,
                        "yarn.scheduler.minimum-allocation-mb": 256,
                        "yarn.nodemanager.resource.memory-mb": 2048
                    },
                    "MapReduce": {
                        "yarn.app.mapreduce.am.resource.mb": 256,
                        "mapreduce.task.io.sort.mb": 102,
                        "mapreduce.reduce.java.opts": "-Xmx409m",
                        "mapreduce.reduce.memory.mb": 512,
                        "mapreduce.map.memory.mb": 256,
                        "yarn.app.mapreduce.am.command-opts": "-Xmx204m",
                        "mapreduce.map.java.opts": "-Xmx204m"
                    }
                },
                "auto_security_group": false,
                "availability_zone": null,
                "count": 1,
                "flavor_id": "2",
                "id": "0fe07f2a-0275-4bc0-93b2-c3c1e48e2815",
                "security_groups": null,
                "use_autoconfig": true,
                "instances": [],
                "volumes_availability_zone": null,
                "created_at": "2015-09-14T10:57:11",
                "node_group_template_id": "0bb9f1a4-0c44-4dc5-9452-6741c62ed9ae",
                "updated_at": "2015-09-14T10:57:12",
                "volumes_per_node": 0,
                "is_proxy_gateway": false,
                "name": "master",
                "volume_mount_prefix": "/volumes/disk",
                "node_processes": [
                    "namenode",
                    "resourcemanager",
                    "oozie",
                    "historyserver"
                ],
                "volumes_size": 0,
                "volume_local_to_instance": false,
                "volume_type": null
            },
            {
                "image_id": null,
                "shares": null,
                "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
                "node_configs": {
                    "YARN": {
                        "yarn.nodemanager.vmem-check-enabled": "false",
                        "yarn.scheduler.maximum-allocation-mb": 2048,
                        "yarn.scheduler.minimum-allocation-mb": 256,
                        "yarn.nodemanager.resource.memory-mb": 2048
                    },
                    "MapReduce": {
                        "yarn.app.mapreduce.am.resource.mb": 256,
                        "mapreduce.task.io.sort.mb": 102,
                        "mapreduce.reduce.java.opts": "-Xmx409m",
                        "mapreduce.reduce.memory.mb": 512,
                        "mapreduce.map.memory.mb": 256,
                        "yarn.app.mapreduce.am.command-opts": "-Xmx204m",
                        "mapreduce.map.java.opts": "-Xmx204m"
                    }
                },
                "auto_security_group": false,
                "availability_zone": null,
                "count": 3,
                "flavor_id": "2",
                "id": "c7a3bea4-c898-446b-8c67-6d378d4c06c4",
                "security_groups": null,
                "use_autoconfig": true,
                "instances": [],
                "volumes_availability_zone": null,
                "created_at": "2015-09-14T10:57:11",
                "node_group_template_id": "846edb31-add5-46e6-a4ee-a4c339f99251",
                "updated_at": "2015-09-14T10:57:12",
                "volumes_per_node": 0,
                "is_proxy_gateway": false,
                "name": "worker",
                "volume_mount_prefix": "/volumes/disk",
                "node_processes": [
                    "datanode",
                    "nodemanager"
                ],
                "volumes_size": 0,
                "volume_local_to_instance": false,
                "volume_type": null
            }
        ],
        "provision_progress": [],
        "hadoop_version": "2.7.1",
        "use_autoconfig": true,
        "trust_id": null,
        "description": null,
        "created_at": "2015-09-14T10:57:11",
        "is_protected": false,
        "updated_at": "2015-09-14T10:57:12",
        "is_transient": false,
        "cluster_configs": {
            "HDFS": {
                "dfs.replication": 3
            }
        },
        "anti_affinity": [],
        "name": "vanilla-cluster",
        "default_image_id": "4118a476-dfdc-4b0e-8d5c-463cba08e9ae",
        "status": "Validating"
    }
}
DELETE
/v1.1/{project_id}/clusters/{cluster_id}

删除集群

删除集群。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_id

路径

字符串

集群的 ID

PUT
/v1.1/{project_id}/clusters/{cluster_id}

缩放集群

缩放集群。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_id

body

字符串

集群的 UUID。

请求示例

{
    "add_node_groups": [
        {
            "count": 1,
            "name": "b-worker",
            "node_group_template_id": "bc270ffe-a086-4eeb-9baa-2f5a73504622"
        }
    ],
    "resize_node_groups": [
        {
            "count": 4,
            "name": "worker"
        }
    ]
}

响应参数

名称

入参

类型

描述

count

body

整数

集群中的节点数。

info

body

对象

包含集群信息的键值对集合。

cluster_template_id

body

字符串

集群模板的 UUID。

is_transient

body

布尔值

如果设置为 true,则集群是临时的。

provision_progress

body

数组

集群进度的列表。

status

body

字符串

集群的状态。

neutron_management_network

body

字符串

Neutron 管理网络的 UUID。

management_public_key

body

字符串

管理网络的 SSH 密钥。

status_description

body

字符串

集群状态的描述。

trust_id

body

整数

信任的 ID。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

PATCH
/v1.1/{project_id}/clusters/{cluster_id}

更新集群

更新集群

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_id

路径

字符串

集群的 ID

请求示例

{
    "name": "public-vanilla-cluster",
    "is_public": true
}

响应参数

名称

入参

类型

描述

count

body

整数

集群中的节点数。

info

body

对象

包含集群信息的键值对集合。

cluster_template_id

body

字符串

集群模板的 UUID。

is_transient

body

布尔值

如果设置为 true,则集群是临时的。

provision_progress

body

数组

集群进度的列表。

status

body

字符串

集群的状态。

neutron_management_network

body

字符串

Neutron 管理网络的 UUID。

management_public_key

body

字符串

管理网络的 SSH 密钥。

status_description

body

字符串

集群状态的描述。

trust_id

body

整数

信任的 ID。

domain_name (可选)

body

字符串

用于内部和外部主机名解析的域名。如果启用了 DNS 服务,则需要此项。

GET
/v1.1/{project_id}/clusters/{cluster_id}

显示进度

显示集群的配置进度。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_id

路径

字符串

集群的 ID

响应示例

{
    "status": "Error",
    "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076",
    "is_transient": false,
    "description": "",
    "user_keypair_id": "vgridnev",
    "updated_at": "2015-03-31 14:10:59",
    "plugin_name": "spark",
    "provision_progress": [
        {
            "successful": false,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-31 14:10:20",
            "step_type": "Engine: create cluster",
            "updated_at": "2015-03-31 14:10:35",
            "events": [
                {
                    "instance_name": "sample-worker-spark-004",
                    "successful": false,
                    "created_at": "2015-03-31 14:10:35",
                    "updated_at": null,
                    "event_info": "Node sample-worker-spark-004 has error status\nError ID: 3e238c82-d1f5-4560-8ed8-691e923e16a0",
                    "instance_id": "b5ba5ba8-e9c1-47f7-9355-3ce0ec0e449d",
                    "node_group_id": "145cf2fb-dcdf-42af-a4b9-a4047d2919d4",
                    "step_id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6",
                    "id": "34afcfc7-bdb0-43cb-b142-283d560dc6ad"
                },
                {
                    "instance_name": "sample-worker-spark-001",
                    "successful": true,
                    "created_at": "2015-03-31 14:10:35",
                    "updated_at": null,
                    "event_info": null,
                    "instance_id": "c532ab71-38da-475a-95f8-f8eb93b8f1c2",
                    "node_group_id": "145cf2fb-dcdf-42af-a4b9-a4047d2919d4",
                    "step_id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6",
                    "id": "4ba50414-5216-4161-bc7a-12716122b99d"
                }
            ],
            "cluster_id": "c26ec982-ba6b-4d75-818c-a50240164af0",
            "step_name": "Wait for instances to become active",
            "total": 5,
            "id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6"
        },
        {
            "successful": true,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-31 14:10:12",
            "step_type": "Engine: create cluster",
            "updated_at": "2015-03-31 14:10:19",
            "events": [],
            "cluster_id": "c26ec982-ba6b-4d75-818c-a50240164af0",
            "step_name": "Run instances",
            "total": 5,
            "id": "407ba50a-c799-46af-9dfb-6aa5f6ade426"
        }
    ],
    "anti_affinity": [],
    "node_groups": [],
    "management_public_key": "Sahara",
    "status_description": "Creating cluster failed for the following reason(s): Node sample-worker-spark-004 has error status\nError ID: 3e238c82-d1f5-4560-8ed8-691e923e16a0",
    "hadoop_version": "1.0.0",
    "id": "c26ec982-ba6b-4d75-1f8c-a50240164af0",
    "trust_id": null,
    "info": {},
    "cluster_template_id": "5a9a09a3-9349-43bd-9058-16c401fad2d5",
    "name": "sample",
    "cluster_configs": {},
    "created_at": "2015-03-31 14:10:07",
    "default_image_id": "e6a6c5da-67be-4017-a7d2-81f466efe67e",
    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda"
}

数据源

数据源对象定义 MapReduce 作业的输入或输出位置,并可能引用不同类型的存储。

Data Processing 服务不验证数据源位置。

GET
/v1.1/{project_id}/data-sources/{data_source_id}

显示数据源详细信息

显示数据源的详细信息。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

data_source_id

路径

字符串

数据源的 UUID。

响应参数

名称

入参

类型

描述

description

body

字符串

数据源对象的描述。

url

body

字符串

数据源对象的 URL。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

type

body

字符串

数据源对象的类型。

id

body

字符串

数据源的 UUID。

name

body

字符串

数据源的名称。

响应示例

{
    "data_source": {
        "is_public": false,
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "is_protected": false,
        "created_at": "2015-03-26 11:18:10.691493",
        "id": "953831f2-0852-49d8-ac71-af5805e25256",
        "updated_at": null,
        "name": "swift_input",
        "description": "This is input",
        "url": "swift://container/text",
        "type": "swift"
    }
}
DELETE
/v1.1/{project_id}/data-sources/{data_source_id}

删除数据源

删除数据源。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

data_source_id

路径

字符串

数据源的 UUID。

PUT
/v1.1/{project_id}/data-sources/{data_source_id}

更新数据源

更新数据源。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

data_source_id

路径

字符串

数据源的 UUID。

请求示例

{
    "description": "This is public input",
    "is_protected": true
}
GET
/v1.1/{project_id}/data-sources

列出数据源

列出所有数据源。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

limit (可选)

路径

整数

响应数据中的最大对象数。

marker (可选)

路径

字符串

列表中最后一个元素的 ID,该元素不会包含在响应中。

sort_by (可选)

路径

字符串

用于对数据源进行排序的字段。此参数接受以下值:idnametypecreated_atupdated_at。这些值也可以以 - 前缀开头以进行降序排序。例如:-name

响应参数

名称

入参

类型

描述

markers (可选)

body

对象

数据前一页和后一页的标记。如果请求中传递了 limit,则此字段存在。

prev (可选)

body

字符串

前一页的标记。如果前一页是第一页或当前页是第一页,则可能为 null

next(可选)

body

字符串

列表数据的下一页的标记。

description

body

字符串

数据源对象的描述。

url

body

字符串

数据源对象的 URL。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

type

body

字符串

数据源对象的类型。

id

body

字符串

数据源的 UUID。

name

body

字符串

数据源的名称。

GET
/v1.1/{project_id}/data-sourses?sort_by=-name

响应示例

{
    "data_sources": [
        {
            "is_public": false,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "is_protected": false,
            "created_at": "2015-03-26 11:18:10",
            "id": "953831f2-0852-49d8-ac71-af5805e25256",
            "name": "swift_input",
            "updated_at": null,
            "description": "This is input",
            "url": "swift://container/text",
            "type": "swift"
        },
        {
            "is_public": false,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "is_protected": false,
            "created_at": "2015-03-26 11:09:36",
            "id": "d7fffe9c-3b42-46a9-8be8-e98f586fa7a9",
            "name": "hdfs_input",
            "updated_at": null,
            "description": "This is hdfs input",
            "url": "hdfs://test-master-node:8020/user/hadoop/input",
            "type": "hdfs"
        }
    ]
}
POST
/v1.1/{project_id}/data-sources

创建数据源

创建数据源。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

请求示例

{
    "description": "This is hdfs input",
    "url": "hdfs://test-master-node:8020/user/hadoop/input",
    "type": "hdfs",
    "name": "hdfs_input"
}

响应参数

名称

入参

类型

描述

description

body

字符串

数据源对象的描述。

url

body

字符串

数据源对象的 URL。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

type

body

字符串

数据源对象的类型。

id

body

字符串

数据源的 UUID。

name

body

字符串

数据源的名称。

事件日志

事件日志功能提供有关集群配置的信息。如果发生错误,事件日志会显示失败原因。

GET
/v1.1/{project_id}/clusters/{cluster_id}

显示进度

显示集群的配置进度。

正常响应代码:200 错误响应代码

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

cluster_id

body

字符串

集群的 UUID。

响应示例

{
    "status": "Error",
    "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076",
    "is_transient": false,
    "description": "",
    "user_keypair_id": "vgridnev",
    "updated_at": "2015-03-31 14:10:59",
    "plugin_name": "spark",
    "provision_progress": [
        {
            "successful": false,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-31 14:10:20",
            "step_type": "Engine: create cluster",
            "updated_at": "2015-03-31 14:10:35",
            "events": [
                {
                    "instance_name": "sample-worker-spark-004",
                    "successful": false,
                    "created_at": "2015-03-31 14:10:35",
                    "updated_at": null,
                    "event_info": "Node sample-worker-spark-004 has error status\nError ID: 3e238c82-d1f5-4560-8ed8-691e923e16a0",
                    "instance_id": "b5ba5ba8-e9c1-47f7-9355-3ce0ec0e449d",
                    "node_group_id": "145cf2fb-dcdf-42af-a4b9-a4047d2919d4",
                    "step_id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6",
                    "id": "34afcfc7-bdb0-43cb-b142-283d560dc6ad"
                },
                {
                    "instance_name": "sample-worker-spark-001",
                    "successful": true,
                    "created_at": "2015-03-31 14:10:35",
                    "updated_at": null,
                    "event_info": null,
                    "instance_id": "c532ab71-38da-475a-95f8-f8eb93b8f1c2",
                    "node_group_id": "145cf2fb-dcdf-42af-a4b9-a4047d2919d4",
                    "step_id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6",
                    "id": "4ba50414-5216-4161-bc7a-12716122b99d"
                }
            ],
            "cluster_id": "c26ec982-ba6b-4d75-818c-a50240164af0",
            "step_name": "Wait for instances to become active",
            "total": 5,
            "id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6"
        },
        {
            "successful": true,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-31 14:10:12",
            "step_type": "Engine: create cluster",
            "updated_at": "2015-03-31 14:10:19",
            "events": [],
            "cluster_id": "c26ec982-ba6b-4d75-818c-a50240164af0",
            "step_name": "Run instances",
            "total": 5,
            "id": "407ba50a-c799-46af-9dfb-6aa5f6ade426"
        }
    ],
    "anti_affinity": [],
    "node_groups": [],
    "management_public_key": "Sahara",
    "status_description": "Creating cluster failed for the following reason(s): Node sample-worker-spark-004 has error status\nError ID: 3e238c82-d1f5-4560-8ed8-691e923e16a0",
    "hadoop_version": "1.0.0",
    "id": "c26ec982-ba6b-4d75-1f8c-a50240164af0",
    "trust_id": null,
    "info": {},
    "cluster_template_id": "5a9a09a3-9349-43bd-9058-16c401fad2d5",
    "name": "sample",
    "cluster_configs": {},
    "created_at": "2015-03-31 14:10:07",
    "default_image_id": "e6a6c5da-67be-4017-a7d2-81f466efe67e",
    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda"
}

镜像注册表

使用镜像注册表工具管理镜像、为镜像添加或删除标签,以及定义实例操作系统所需的用户名。每个插件都列出了镜像所需的标签。要运行远程操作,Data Processing 服务需要一个用户名来登录实例的操作系统。

POST
/v1.1/{project_id}/images/{image_id}/tag

为镜像添加标签

为镜像添加标签。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

tags

body

数组

要添加的标签列表。

image_id

路径

字符串

镜像的 UUID。

请求示例

{
    "tags": [
        "vanilla",
        "2.7.1",
        "some_other_tag"
    ]
}
GET
/v1.1/{project_id}/images/{image_id}

显示镜像详细信息

显示镜像的详情。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

image_id

路径

字符串

镜像的 UUID。

响应参数

名称

入参

类型

描述

status

body

字符串

集群的状态。

username

body

字符串

镜像的用户名。

updated

body

字符串

更新图像的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

description

body

字符串

镜像的描述。

创建时间

body

字符串

创建图像的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

image

body

对象

包含镜像属性的键值对集合。

tags

body

数组

要添加的标签列表。

minDisk

body

整数

最小磁盘空间(GB)。

name

body

字符串

操作系统镜像的名称。

progress

body

整数

镜像内容已处理的百分比进度指示器。

minRam

body

整数

镜像的最小随机访问内存(RAM)(GB)。

id

body

字符串

镜像的 UUID。

metadata

body

对象

包含镜像元数据的键值对集合。

响应示例

{
    "image": {
        "updated": "2015-02-03T10:29:32Z",
        "metadata": {
            "_sahara_username": "ubuntu",
            "_sahara_tag_vanilla": true,
            "_sahara_tag_2.6.0": true
        },
        "id": "bb8d12b5-f9bb-49f0-aecb-739b8a9bec89",
        "minDisk": 0,
        "status": "ACTIVE",
        "tags": [
            "vanilla",
            "2.6.0"
        ],
        "minRam": 0,
        "progress": 100,
        "username": "ubuntu",
        "created": "2015-02-03T10:28:39Z",
        "name": "sahara-vanilla-2.6.0-ubuntu-14.04",
        "description": null,
        "OS-EXT-IMG-SIZE:size": 1101856768
    }
}
POST
/v1.1/{project_id}/images/{image_id}

注册镜像

在注册表中注册镜像。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

username

body

字符串

镜像的用户名。

description

body

字符串

镜像的描述。

image_id

路径

字符串

镜像的 UUID。

请求示例

{
    "username": "ubuntu",
    "description": "Ubuntu image for Hadoop 2.7.1"
}

响应参数

名称

入参

类型

描述

status

body

字符串

集群的状态。

username

body

字符串

镜像的用户名。

updated

body

字符串

更新图像的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

description

body

字符串

镜像的描述。

创建时间

body

字符串

创建图像的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

image

body

对象

包含镜像属性的键值对集合。

tags

body

数组

要添加的标签列表。

minDisk

body

整数

最小磁盘空间(GB)。

name

body

字符串

操作系统镜像的名称。

progress

body

整数

镜像内容已处理的百分比进度指示器。

minRam

body

整数

镜像的最小随机访问内存(RAM)(GB)。

id

body

字符串

镜像的 UUID。

metadata

body

对象

包含镜像元数据的键值对集合。

DELETE
/v1.1/{project_id}/images/{image_id}

取消注册镜像

从注册表中移除镜像。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

image_id

路径

字符串

镜像的 UUID。

POST
/v1.1/{project_id}/images/{image_id}/untag

从镜像中移除标签

从镜像中移除标签。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

tags

body

数组

要添加的标签列表。

image_id

路径

字符串

镜像的 UUID。

请求示例

{
    "tags": [
        "some_other_tag"
    ]
}
GET
/v1.1/{project_id}/images

列出镜像

列出注册表中所有已注册的镜像。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

tags

body

数组

要添加的标签列表。

响应参数

名称

入参

类型

描述

status

body

字符串

集群的状态。

username

body

字符串

镜像的用户名。

updated

body

字符串

更新图像的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

description

body

字符串

镜像的描述。

创建时间

body

字符串

创建图像的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

例如,2015-08-27T09:49:58-05:00

如果包含 ±hh:mm 值,则为 UTC 的时区偏移量。

image

body

对象

包含镜像属性的键值对集合。

tags

body

数组

要添加的标签列表。

minDisk

body

整数

最小磁盘空间(GB)。

name

body

字符串

操作系统镜像的名称。

images

body

数组

镜像及其属性的列表。

progress

body

整数

镜像内容已处理的百分比进度指示器。

minRam

body

整数

镜像的最小随机访问内存(RAM)(GB)。

id

body

字符串

镜像的 UUID。

metadata

body

对象

包含镜像元数据的键值对集合。

响应示例

{
    "images": [
        {
            "name": "ubuntu-vanilla-2.7.1",
            "id": "4118a476-dfdc-4b0e-8d5c-463cba08e9ae",
            "created": "2015-08-06T08:17:14Z",
            "metadata": {
                "_sahara_tag_2.7.1": true,
                "_sahara_username": "ubuntu",
                "_sahara_tag_vanilla": true
            },
            "username": "ubuntu",
            "progress": 100,
            "OS-EXT-IMG-SIZE:size": 998716928,
            "status": "ACTIVE",
            "minDisk": 0,
            "tags": [
                "vanilla",
                "2.7.1"
            ],
            "updated": "2015-09-04T09:35:09Z",
            "minRam": 0,
            "description": null
        },
        {
            "name": "cdh-latest",
            "id": "ff74035b-9da7-4edf-981d-57f270ed337d",
            "created": "2015-09-04T11:56:44Z",
            "metadata": {
                "_sahara_username": "ubuntu",
                "_sahara_tag_5.4.0": true,
                "_sahara_tag_cdh": true
            },
            "username": "ubuntu",
            "progress": 100,
            "OS-EXT-IMG-SIZE:size": 3281453056,
            "status": "ACTIVE",
            "minDisk": 0,
            "tags": [
                "5.4.0",
                "cdh"
            ],
            "updated": "2015-09-04T12:46:42Z",
            "minRam": 0,
            "description": null
        }
    ]
}

作业二进制文件

作业二进制文件对象表示存储在内部数据库或对象存储服务中的数据处理应用程序和库。

GET
/v1.1/{project_id}/job-binaries

列出作业二进制文件

列出可用的作业二进制文件。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

limit (可选)

路径

整数

响应数据中的最大对象数。

marker (可选)

路径

字符串

列表中最后一个元素的 ID,该元素不会包含在响应中。

sort_by (可选)

路径

字符串

用于对作业二进制文件进行排序的字段。此参数接受以下值:idnamecreated_atupdated_at。这些值也可以以 - 前缀开头以进行降序排序。例如:-name

响应参数

名称

入参

类型

描述

markers (可选)

body

对象

数据前一页和后一页的标记。如果请求中传递了 limit,则此字段存在。

prev (可选)

body

字符串

前一页的标记。如果前一页是第一页或当前页是第一页,则可能为 null

next(可选)

body

字符串

列表数据的下一页的标记。

description

body

字符串

作业二进制文件对象的描述。

url

body

字符串

数据源对象的 URL。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

binaries

body

数组

作业二进制文件内部对象的列表。

id

路径

字符串

作业二进制文件的 UUID。

name

body

字符串

对象名称。

GET
/v1.1/{project_id}/job-binaries?sort_by=created_at

响应示例

{
    "binaries": [
        {
            "is_public": false,
            "description": "",
            "url": "internal-db://d2498cbf-4589-484a-a814-81436c18beb3",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 12:36:59.375060",
            "updated_at": null,
            "id": "84248975-3c82-4206-a58d-6e7fb3a563fd",
            "name": "example.pig",
            "is_protected": false
        },
        {
            "is_public": false,
            "description": "",
            "url": "internal-db://22f1d87a-23c8-483e-a0dd-cb4a16dde5f9",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 12:43:52.265899",
            "updated_at": null,
            "id": "508fc62d-1d58-4412-b603-bdab307bb926",
            "name": "udf.jar",
            "is_protected": false
        },
        {
            "is_public": false,
            "description": "",
            "url": "swift://container/jar-example.jar",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 14:25:04.970513",
            "updated_at": null,
            "id": "a716a9cd-9add-4b12-b1b6-cdb71aaef350",
            "name": "jar-example.jar",
            "is_protected": false
        }
    ]
}
POST
/v1.1/{project_id}/job-binaries

创建作业二进制文件

创建作业二进制文件。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

请求示例

{
    "url": "swift://container/jar-example.jar",
    "name": "jar-example.jar",
    "description": "This is a job binary",
    "extra": {
        "password": "swordfish",
        "user": "admin"
    }
}

响应参数

名称

入参

类型

描述

description

body

字符串

作业二进制文件对象的描述。

url

body

字符串

数据源对象的 URL。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

id

路径

字符串

作业二进制文件的 UUID。

name

body

字符串

对象名称。

GET
/v1.1/{project_id}/job-binaries/{job_binary_id}

显示作业二进制文件详细信息

显示作业二进制文件的详细信息。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_binary_id

路径

字符串

作业二进制文件的 UUID。

响应参数

名称

入参

类型

描述

description

body

字符串

作业二进制文件对象的描述。

url

body

字符串

数据源对象的 URL。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

id

路径

字符串

作业二进制文件的 UUID。

name

body

字符串

对象名称。

响应示例

{
    "job_binary": {
        "is_public": false,
        "description": "an example jar file",
        "url": "swift://container/jar-example.jar",
        "tenant_id": "11587919cc534bcbb1027a161c82cf58",
        "created_at": "2013-10-15 14:25:04.970513",
        "updated_at": null,
        "id": "a716a9cd-9add-4b12-b1b6-cdb71aaef350",
        "name": "jar-example.jar",
        "is_protected": false
    }
}
DELETE
/v1.1/{project_id}/job-binaries/{job_binary_id}

删除作业二进制文件

删除作业二进制文件。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_binary_id

路径

字符串

作业二进制文件的 UUID。

PUT
/v1.1/{project_id}/job-binaries/{job_binary_id}

更新作业二进制文件

更新作业二进制文件。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_binary_id

路径

字符串

作业二进制文件的 UUID。

请求示例

{
    "url": "swift://container/new-jar-example.jar",
    "name": "new-jar-example.jar",
    "description": "This is a new job binary"
}
GET
/v1.1/{project_id}/job-binaries/{job_binary_id}/data

显示作业二进制文件数据

显示作业二进制文件的数据。

响应体显示作业二进制文件的原始数据,响应头显示数据长度。

示例响应

HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 161
Content-Type: text/html; charset=utf-8
Date: Sat, 28 Mar 2016 02:42:48 GMT
A = load '$INPUT' using PigStorage(':') as (fruit: chararray);
B = foreach A generate com.hadoopbook.pig.Trim(fruit);
store B into '$OUTPUT' USING PigStorage();

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_binary_id

路径

字符串

作业二进制文件的 UUID。

响应参数

名称

入参

类型

描述

Content-Length

标头

字符串

数据长度(字节)。

响应示例

A = load '$INPUT' using PigStorage(':') as (fruit: chararray);
B = foreach A generate com.hadoopbook.pig.Trim(fruit);
store B into '$OUTPUT' USING PigStorage();

作业执行

作业执行对象表示在集群上运行的 Hadoop 作业。作业执行会轮询正在运行的作业的状态并将其报告给用户。用户还可以取消正在运行的作业。

GET
/v1.1/{project_id}/job-executions/{job_execution_id}/refresh-status

刷新作业执行状态

刷新并显示作业执行的状态信息。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_execution_id

路径

字符串

作业执行的 UUID。

响应参数

名称

入参

类型

描述

info

body

对象

包含集群信息的键值对集合。

output_id

body

字符串

作业执行对象的输出的 UUID。

start_time

body

字符串

作业开始的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

job_id

body

字符串

作业对象的 UUID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

参数

body

数组

参数列表。

data_source_urls

body

对象

数据源 URL。

return_code

body

字符串

作业执行后返回的代码。

oozie_job_id

body

字符串

oozie_job 的 UUID。

is_protected

body

布尔值

如果设置为 true,则作业执行对象受保护。

cluster_id

body

字符串

集群的 UUID。

end_time

body

字符串

作业执行的结束日期和时间。

作业完成执行的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

params

body

对象

值到参数的映射。

is_public

body

布尔值

如果设置为 true,则作业执行对象为公共。

input_id

body

字符串

输入的 UUID。

configs

body

对象

作业任务的映射。

job_execution

body

对象

包含作业对象的键值对集合。

id

body

字符串

作业执行对象的 UUID。

响应示例

{
    "job_execution": {
        "job_configs": {
            "configs": {
                "mapred.reduce.tasks": "1",
                "mapred.map.tasks": "1"
            },
            "args": [
                "arg1",
                "arg2"
            ],
            "params": {
                "param2": "value2",
                "param1": "value1"
            }
        },
        "is_protected": false,
        "input_id": "3e1bc8e6-8c69-4749-8e52-90d9341d15bc",
        "job_id": "310b0fc6-e1db-408e-8798-312e7500f3ac",
        "cluster_id": "811e1134-666f-4c48-bc92-afb5b10c9d8c",
        "created_at": "2015-09-15T09:49:24",
        "end_time": "2015-09-15T12:50:46",
        "output_id": "52146b52-6540-4aac-a024-fee253cf52a9",
        "is_public": false,
        "updated_at": "2015-09-15T09:50:46",
        "return_code": null,
        "data_source_urls": {
            "3e1bc8e6-8c69-4749-8e52-90d9341d15bc": "swift://ap-cont/input",
            "52146b52-6540-4aac-a024-fee253cf52a9": "swift://ap-cont/output"
        },
        "tenant_id": "808d5032ea0446889097723bfc8e919d",
        "start_time": "2015-09-15T12:49:43",
        "id": "20da9edb-12ce-4b45-a473-41baeefef997",
        "oozie_job_id": "0000001-150915094349962-oozie-hado-W",
        "info": {
            "user": "hadoop",
            "actions": [
                {
                    "name": ":start:",
                    "trackerUri": "-",
                    "externalStatus": "OK",
                    "status": "OK",
                    "externalId": "-",
                    "transition": "job-node",
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "errorCode": null,
                    "id": "0000001-150915094349962-oozie-hado-W@:start:",
                    "consoleUrl": "-",
                    "errorMessage": null,
                    "toString": "Action name[:start:] status[OK]",
                    "stats": null,
                    "type": ":START:",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                },
                {
                    "name": "job-node",
                    "trackerUri": "http://172.18.168.119:8032",
                    "externalStatus": "FAILED/KILLED",
                    "status": "ERROR",
                    "externalId": "job_1442310173665_0002",
                    "transition": "fail",
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "errorCode": "JA018",
                    "id": "0000001-150915094349962-oozie-hado-W@job-node",
                    "consoleUrl": "http://ap-cluster-all-0:8088/proxy/application_1442310173665_0002/",
                    "errorMessage": "Main class [org.apache.oozie.action.hadoop.PigMain], exit code [2]",
                    "toString": "Action name[job-node] status[ERROR]",
                    "stats": null,
                    "type": "pig",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                },
                {
                    "name": "fail",
                    "trackerUri": "-",
                    "externalStatus": "OK",
                    "status": "OK",
                    "externalId": "-",
                    "transition": null,
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "errorCode": "E0729",
                    "id": "0000001-150915094349962-oozie-hado-W@fail",
                    "consoleUrl": "-",
                    "errorMessage": "Workflow failed, error message[Main class [org.apache.oozie.action.hadoop.PigMain], exit code [2]]",
                    "toString": "Action name[fail] status[OK]",
                    "stats": null,
                    "type": ":KILL:",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                }
            ],
            "createdTime": "Tue, 15 Sep 2015 09:49:58 GMT",
            "status": "KILLED",
            "group": null,
            "externalId": null,
            "acl": null,
            "run": 0,
            "appName": "job-wf",
            "parentId": null,
            "conf": "<configuration>\r\n  <property>\r\n    <name>user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.use.system.libpath</name>\r\n    <value>true</value>\r\n  </property>\r\n  <property>\r\n    <name>mapreduce.job.user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>nameNode</name>\r\n    <value>hdfs://ap-cluster-all-0:9000</value>\r\n  </property>\r\n  <property>\r\n    <name>jobTracker</name>\r\n    <value>http://172.18.168.119:8032</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.wf.application.path</name>\r\n    <value>hdfs://ap-cluster-all-0:9000/user/hadoop/pig-job-example/3038025d-9974-4993-a778-26a074cdfb8d/workflow.xml</value>\r\n  </property>\r\n</configuration>",
            "id": "0000001-150915094349962-oozie-hado-W",
            "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
            "appPath": "hdfs://ap-cluster-all-0:9000/user/hadoop/pig-job-example/3038025d-9974-4993-a778-26a074cdfb8d/workflow.xml",
            "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
            "toString": "Workflow id[0000001-150915094349962-oozie-hado-W] status[KILLED]",
            "lastModTime": "Tue, 15 Sep 2015 09:50:17 GMT",
            "consoleUrl": "http://ap-cluster-all-0.novalocal:11000/oozie?job=0000001-150915094349962-oozie-hado-W"
        }
    }
}
GET
/v1.1/{project_id}/job-executions

列出作业执行

列出可用的作业执行。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

limit (可选)

路径

整数

响应数据中的最大对象数。

marker (可选)

路径

字符串

列表中最后一个元素的 ID,该元素不会包含在响应中。

sort_by (可选)

路径

字符串

用于对作业执行进行排序的字段。此参数接受以下值:idjob_templateclusterstatus。这些值也可以以 - 前缀开头以进行降序排序。例如:-cluster

响应参数

名称

入参

类型

描述

markers (可选)

body

对象

数据前一页和后一页的标记。如果请求中传递了 limit,则此字段存在。

prev (可选)

body

字符串

前一页的标记。如果前一页是第一页或当前页是第一页,则可能为 null

next(可选)

body

字符串

列表数据的下一页的标记。

info

body

对象

包含集群信息的键值对集合。

output_id

body

字符串

作业执行对象的输出的 UUID。

start_time

body

字符串

作业开始的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

job_id

body

字符串

作业对象的 UUID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

参数

body

数组

参数列表。

data_source_urls

body

对象

数据源 URL。

return_code

body

字符串

作业执行后返回的代码。

oozie_job_id

body

字符串

oozie_job 的 UUID。

is_protected

body

布尔值

如果设置为 true,则作业执行对象受保护。

cluster_id

body

字符串

集群的 UUID。

end_time

body

字符串

作业执行的结束日期和时间。

作业完成执行的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

params

body

对象

值到参数的映射。

is_public

body

布尔值

如果设置为 true,则作业执行对象为公共。

input_id

body

字符串

输入的 UUID。

configs

body

对象

作业任务的映射。

job_execution

body

对象

包含作业对象的键值对集合。

id

body

字符串

作业执行对象的 UUID。

job_executions

body

数组

作业执行对象的列表。

/v1.1/{project_id}/job-executions

响应示例

{
    "job_executions": [
        {
            "job_configs": {
                "configs": {
                    "mapred.reduce.tasks": "1",
                    "mapred.map.tasks": "1"
                },
                "args": [
                    "arg1",
                    "arg2"
                ],
                "params": {
                    "param2": "value2",
                    "param1": "value1"
                }
            },
            "is_protected": false,
            "input_id": "3e1bc8e6-8c69-4749-8e52-90d9341d15bc",
            "job_id": "310b0fc6-e1db-408e-8798-312e7500f3ac",
            "cluster_id": "811e1134-666f-4c48-bc92-afb5b10c9d8c",
            "created_at": "2015-09-15T09:49:24",
            "end_time": "2015-09-15T12:50:46",
            "output_id": "52146b52-6540-4aac-a024-fee253cf52a9",
            "is_public": false,
            "updated_at": "2015-09-15T09:50:46",
            "return_code": null,
            "data_source_urls": {
                "3e1bc8e6-8c69-4749-8e52-90d9341d15bc": "swift://ap-cont/input",
                "52146b52-6540-4aac-a024-fee253cf52a9": "swift://ap-cont/output"
            },
            "tenant_id": "808d5032ea0446889097723bfc8e919d",
            "start_time": "2015-09-15T12:49:43",
            "id": "20da9edb-12ce-4b45-a473-41baeefef997",
            "oozie_job_id": "0000001-150915094349962-oozie-hado-W",
            "info": {
                "user": "hadoop",
                "actions": [
                    {
                        "name": ":start:",
                        "trackerUri": "-",
                        "externalStatus": "OK",
                        "status": "OK",
                        "externalId": "-",
                        "transition": "job-node",
                        "data": null,
                        "endTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                        "errorCode": null,
                        "id": "0000001-150915094349962-oozie-hado-W@:start:",
                        "consoleUrl": "-",
                        "errorMessage": null,
                        "toString": "Action name[:start:] status[OK]",
                        "stats": null,
                        "type": ":START:",
                        "retries": 0,
                        "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                        "externalChildIDs": null,
                        "cred": "null"
                    },
                    {
                        "name": "job-node",
                        "trackerUri": "http://172.18.168.119:8032",
                        "externalStatus": "FAILED/KILLED",
                        "status": "ERROR",
                        "externalId": "job_1442310173665_0002",
                        "transition": "fail",
                        "data": null,
                        "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                        "errorCode": "JA018",
                        "id": "0000001-150915094349962-oozie-hado-W@job-node",
                        "consoleUrl": "http://ap-cluster-all-0:8088/proxy/application_1442310173665_0002/",
                        "errorMessage": "Main class [org.apache.oozie.action.hadoop.PigMain], exit code [2]",
                        "toString": "Action name[job-node] status[ERROR]",
                        "stats": null,
                        "type": "pig",
                        "retries": 0,
                        "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                        "externalChildIDs": null,
                        "cred": "null"
                    },
                    {
                        "name": "fail",
                        "trackerUri": "-",
                        "externalStatus": "OK",
                        "status": "OK",
                        "externalId": "-",
                        "transition": null,
                        "data": null,
                        "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                        "errorCode": "E0729",
                        "id": "0000001-150915094349962-oozie-hado-W@fail",
                        "consoleUrl": "-",
                        "errorMessage": "Workflow failed, error message[Main class [org.apache.oozie.action.hadoop.PigMain], exit code [2]]",
                        "toString": "Action name[fail] status[OK]",
                        "stats": null,
                        "type": ":KILL:",
                        "retries": 0,
                        "startTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                        "externalChildIDs": null,
                        "cred": "null"
                    }
                ],
                "createdTime": "Tue, 15 Sep 2015 09:49:58 GMT",
                "status": "KILLED",
                "group": null,
                "externalId": null,
                "acl": null,
                "run": 0,
                "appName": "job-wf",
                "parentId": null,
                "conf": "<configuration>\r\n  <property>\r\n    <name>user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.use.system.libpath</name>\r\n    <value>true</value>\r\n  </property>\r\n  <property>\r\n    <name>mapreduce.job.user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>nameNode</name>\r\n    <value>hdfs://ap-cluster-all-0:9000</value>\r\n  </property>\r\n  <property>\r\n    <name>jobTracker</name>\r\n    <value>http://172.18.168.119:8032</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.wf.application.path</name>\r\n    <value>hdfs://ap-cluster-all-0:9000/user/hadoop/pig-job-example/3038025d-9974-4993-a778-26a074cdfb8d/workflow.xml</value>\r\n  </property>\r\n</configuration>",
                "id": "0000001-150915094349962-oozie-hado-W",
                "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                "appPath": "hdfs://ap-cluster-all-0:9000/user/hadoop/pig-job-example/3038025d-9974-4993-a778-26a074cdfb8d/workflow.xml",
                "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                "toString": "Workflow id[0000001-150915094349962-oozie-hado-W] status[KILLED]",
                "lastModTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                "consoleUrl": "http://ap-cluster-all-0.novalocal:11000/oozie?job=0000001-150915094349962-oozie-hado-W"
            }
        }
    ]
}
GET
/v1.1/{project_id}/job-executions/{job_execution_id}

显示作业执行详细信息

按 ID 显示作业执行的详细信息。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_execution_id

路径

字符串

作业执行的 UUID。

响应参数

名称

入参

类型

描述

info

body

对象

包含集群信息的键值对集合。

output_id

body

字符串

作业执行对象的输出的 UUID。

start_time

body

字符串

作业开始的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

job_id

body

字符串

作业对象的 UUID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

参数

body

数组

参数列表。

data_source_urls

body

对象

数据源 URL。

return_code

body

字符串

作业执行后返回的代码。

oozie_job_id

body

字符串

oozie_job 的 UUID。

is_protected

body

布尔值

如果设置为 true,则作业执行对象受保护。

cluster_id

body

字符串

集群的 UUID。

end_time

body

字符串

作业执行的结束日期和时间。

作业完成执行的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

params

body

对象

值到参数的映射。

is_public

body

布尔值

如果设置为 true,则作业执行对象为公共。

input_id

body

字符串

输入的 UUID。

configs

body

对象

作业任务的映射。

job_execution

body

对象

包含作业对象的键值对集合。

id

body

字符串

作业执行对象的 UUID。

响应示例

{
    "job_execution": {
        "job_configs": {
            "configs": {
                "mapred.reduce.tasks": "1",
                "mapred.map.tasks": "1"
            },
            "args": [
                "arg1",
                "arg2"
            ],
            "params": {
                "param2": "value2",
                "param1": "value1"
            }
        },
        "is_protected": false,
        "input_id": "3e1bc8e6-8c69-4749-8e52-90d9341d15bc",
        "job_id": "310b0fc6-e1db-408e-8798-312e7500f3ac",
        "cluster_id": "811e1134-666f-4c48-bc92-afb5b10c9d8c",
        "created_at": "2015-09-15T09:49:24",
        "end_time": "2015-09-15T12:50:46",
        "output_id": "52146b52-6540-4aac-a024-fee253cf52a9",
        "is_public": false,
        "updated_at": "2015-09-15T09:50:46",
        "return_code": null,
        "data_source_urls": {
            "3e1bc8e6-8c69-4749-8e52-90d9341d15bc": "swift://ap-cont/input",
            "52146b52-6540-4aac-a024-fee253cf52a9": "swift://ap-cont/output"
        },
        "tenant_id": "808d5032ea0446889097723bfc8e919d",
        "start_time": "2015-09-15T12:49:43",
        "id": "20da9edb-12ce-4b45-a473-41baeefef997",
        "oozie_job_id": "0000001-150915094349962-oozie-hado-W",
        "info": {
            "user": "hadoop",
            "actions": [
                {
                    "name": ":start:",
                    "trackerUri": "-",
                    "externalStatus": "OK",
                    "status": "OK",
                    "externalId": "-",
                    "transition": "job-node",
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "errorCode": null,
                    "id": "0000001-150915094349962-oozie-hado-W@:start:",
                    "consoleUrl": "-",
                    "errorMessage": null,
                    "toString": "Action name[:start:] status[OK]",
                    "stats": null,
                    "type": ":START:",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                },
                {
                    "name": "job-node",
                    "trackerUri": "http://172.18.168.119:8032",
                    "externalStatus": "FAILED/KILLED",
                    "status": "ERROR",
                    "externalId": "job_1442310173665_0002",
                    "transition": "fail",
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "errorCode": "JA018",
                    "id": "0000001-150915094349962-oozie-hado-W@job-node",
                    "consoleUrl": "http://ap-cluster-all-0:8088/proxy/application_1442310173665_0002/",
                    "errorMessage": "Main class [org.apache.oozie.action.hadoop.PigMain], exit code [2]",
                    "toString": "Action name[job-node] status[ERROR]",
                    "stats": null,
                    "type": "pig",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                },
                {
                    "name": "fail",
                    "trackerUri": "-",
                    "externalStatus": "OK",
                    "status": "OK",
                    "externalId": "-",
                    "transition": null,
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "errorCode": "E0729",
                    "id": "0000001-150915094349962-oozie-hado-W@fail",
                    "consoleUrl": "-",
                    "errorMessage": "Workflow failed, error message[Main class [org.apache.oozie.action.hadoop.PigMain], exit code [2]]",
                    "toString": "Action name[fail] status[OK]",
                    "stats": null,
                    "type": ":KILL:",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                }
            ],
            "createdTime": "Tue, 15 Sep 2015 09:49:58 GMT",
            "status": "KILLED",
            "group": null,
            "externalId": null,
            "acl": null,
            "run": 0,
            "appName": "job-wf",
            "parentId": null,
            "conf": "<configuration>\r\n  <property>\r\n    <name>user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.use.system.libpath</name>\r\n    <value>true</value>\r\n  </property>\r\n  <property>\r\n    <name>mapreduce.job.user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>nameNode</name>\r\n    <value>hdfs://ap-cluster-all-0:9000</value>\r\n  </property>\r\n  <property>\r\n    <name>jobTracker</name>\r\n    <value>http://172.18.168.119:8032</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.wf.application.path</name>\r\n    <value>hdfs://ap-cluster-all-0:9000/user/hadoop/pig-job-example/3038025d-9974-4993-a778-26a074cdfb8d/workflow.xml</value>\r\n  </property>\r\n</configuration>",
            "id": "0000001-150915094349962-oozie-hado-W",
            "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
            "appPath": "hdfs://ap-cluster-all-0:9000/user/hadoop/pig-job-example/3038025d-9974-4993-a778-26a074cdfb8d/workflow.xml",
            "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
            "toString": "Workflow id[0000001-150915094349962-oozie-hado-W] status[KILLED]",
            "lastModTime": "Tue, 15 Sep 2015 09:50:17 GMT",
            "consoleUrl": "http://ap-cluster-all-0.novalocal:11000/oozie?job=0000001-150915094349962-oozie-hado-W"
        }
    }
}
DELETE
/v1.1/{project_id}/job-executions/{job_execution_id}

删除作业执行

删除作业执行。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_execution_id

路径

字符串

作业执行的 UUID。

PATCH
/v1.1/{project_id}/job-executions/{job_execution_id}

更新作业执行

更新作业执行。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_execution_id

路径

字符串

作业执行的 UUID。

请求示例

{
    "is_public": true
}

响应参数

名称

入参

类型

描述

info

body

对象

包含集群信息的键值对集合。

output_id

body

字符串

作业执行对象的输出的 UUID。

start_time

body

字符串

作业开始的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

job_id

body

字符串

作业对象的 UUID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

参数

body

数组

参数列表。

data_source_urls

body

对象

数据源 URL。

return_code

body

字符串

作业执行后返回的代码。

oozie_job_id

body

字符串

oozie_job 的 UUID。

is_protected

body

布尔值

如果设置为 true,则作业执行对象受保护。

cluster_id

body

字符串

集群的 UUID。

end_time

body

字符串

作业执行的结束日期和时间。

作业完成执行的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

params

body

对象

值到参数的映射。

is_public

body

布尔值

如果设置为 true,则作业执行对象为公共。

input_id

body

字符串

输入的 UUID。

configs

body

对象

作业任务的映射。

job_execution

body

对象

包含作业对象的键值对集合。

id

body

字符串

作业执行对象的 UUID。

GET
/v1.1/{project_id}/job-executions/{job_execution_id}/cancel

取消作业执行

取消作业执行。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_execution_id

路径

字符串

作业执行的 UUID。

响应参数

名称

入参

类型

描述

info

body

对象

包含集群信息的键值对集合。

output_id

body

字符串

作业执行对象的输出的 UUID。

start_time

body

字符串

作业开始的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

job_id

body

字符串

作业对象的 UUID。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

参数

body

数组

参数列表。

data_source_urls

body

对象

数据源 URL。

return_code

body

字符串

作业执行后返回的代码。

oozie_job_id

body

字符串

oozie_job 的 UUID。

is_protected

body

布尔值

如果设置为 true,则作业执行对象受保护。

cluster_id

body

字符串

集群的 UUID。

end_time

body

字符串

作业执行的结束日期和时间。

作业完成执行的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

params

body

对象

值到参数的映射。

is_public

body

布尔值

如果设置为 true,则作业执行对象为公共。

input_id

body

字符串

输入的 UUID。

configs

body

对象

作业任务的映射。

job_execution

body

对象

包含作业对象的键值对集合。

id

body

字符串

作业执行对象的 UUID。

响应示例

{
    "job_execution": {
        "job_configs": {
            "configs": {
                "mapred.reduce.tasks": "1",
                "mapred.map.tasks": "1"
            },
            "args": [
                "arg1",
                "arg2"
            ],
            "params": {
                "param2": "value2",
                "param1": "value1"
            }
        },
        "is_protected": false,
        "input_id": "3e1bc8e6-8c69-4749-8e52-90d9341d15bc",
        "job_id": "310b0fc6-e1db-408e-8798-312e7500f3ac",
        "cluster_id": "811e1134-666f-4c48-bc92-afb5b10c9d8c",
        "created_at": "2015-09-15T09:49:24",
        "end_time": "2015-09-15T12:50:46",
        "output_id": "52146b52-6540-4aac-a024-fee253cf52a9",
        "is_public": false,
        "updated_at": "2015-09-15T09:50:46",
        "return_code": null,
        "data_source_urls": {
            "3e1bc8e6-8c69-4749-8e52-90d9341d15bc": "swift://ap-cont/input",
            "52146b52-6540-4aac-a024-fee253cf52a9": "swift://ap-cont/output"
        },
        "tenant_id": "808d5032ea0446889097723bfc8e919d",
        "start_time": "2015-09-15T12:49:43",
        "id": "20da9edb-12ce-4b45-a473-41baeefef997",
        "oozie_job_id": "0000001-150915094349962-oozie-hado-W",
        "info": {
            "user": "hadoop",
            "actions": [
                {
                    "name": ":start:",
                    "trackerUri": "-",
                    "externalStatus": "OK",
                    "status": "OK",
                    "externalId": "-",
                    "transition": "job-node",
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "errorCode": null,
                    "id": "0000001-150915094349962-oozie-hado-W@:start:",
                    "consoleUrl": "-",
                    "errorMessage": null,
                    "toString": "Action name[:start:] status[OK]",
                    "stats": null,
                    "type": ":START:",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                },
                {
                    "name": "job-node",
                    "trackerUri": "http://172.18.168.119:8032",
                    "externalStatus": "FAILED/KILLED",
                    "status": "ERROR",
                    "externalId": "job_1442310173665_0002",
                    "transition": "fail",
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "errorCode": "JA018",
                    "id": "0000001-150915094349962-oozie-hado-W@job-node",
                    "consoleUrl": "http://ap-cluster-all-0:8088/proxy/application_1442310173665_0002/",
                    "errorMessage": "Main class [org.apache.oozie.action.hadoop.PigMain], exit code [2]",
                    "toString": "Action name[job-node] status[ERROR]",
                    "stats": null,
                    "type": "pig",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                },
                {
                    "name": "fail",
                    "trackerUri": "-",
                    "externalStatus": "OK",
                    "status": "OK",
                    "externalId": "-",
                    "transition": null,
                    "data": null,
                    "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "errorCode": "E0729",
                    "id": "0000001-150915094349962-oozie-hado-W@fail",
                    "consoleUrl": "-",
                    "errorMessage": "Workflow failed, error message[Main class [org.apache.oozie.action.hadoop.PigMain], exit code [2]]",
                    "toString": "Action name[fail] status[OK]",
                    "stats": null,
                    "type": ":KILL:",
                    "retries": 0,
                    "startTime": "Tue, 15 Sep 2015 09:50:17 GMT",
                    "externalChildIDs": null,
                    "cred": "null"
                }
            ],
            "createdTime": "Tue, 15 Sep 2015 09:49:58 GMT",
            "status": "KILLED",
            "group": null,
            "externalId": null,
            "acl": null,
            "run": 0,
            "appName": "job-wf",
            "parentId": null,
            "conf": "<configuration>\r\n  <property>\r\n    <name>user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.use.system.libpath</name>\r\n    <value>true</value>\r\n  </property>\r\n  <property>\r\n    <name>mapreduce.job.user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>nameNode</name>\r\n    <value>hdfs://ap-cluster-all-0:9000</value>\r\n  </property>\r\n  <property>\r\n    <name>jobTracker</name>\r\n    <value>http://172.18.168.119:8032</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.wf.application.path</name>\r\n    <value>hdfs://ap-cluster-all-0:9000/user/hadoop/pig-job-example/3038025d-9974-4993-a778-26a074cdfb8d/workflow.xml</value>\r\n  </property>\r\n</configuration>",
            "id": "0000001-150915094349962-oozie-hado-W",
            "startTime": "Tue, 15 Sep 2015 09:49:59 GMT",
            "appPath": "hdfs://ap-cluster-all-0:9000/user/hadoop/pig-job-example/3038025d-9974-4993-a778-26a074cdfb8d/workflow.xml",
            "endTime": "Tue, 15 Sep 2015 09:50:17 GMT",
            "toString": "Workflow id[0000001-150915094349962-oozie-hado-W] status[KILLED]",
            "lastModTime": "Tue, 15 Sep 2015 09:50:17 GMT",
            "consoleUrl": "http://ap-cluster-all-0.novalocal:11000/oozie?job=0000001-150915094349962-oozie-hado-W"
        }
    }
}

作业类型

支持 EDP 的每个插件还支持特定的作业类型。插件的不同版本可能支持不同的作业类型。配置选项因插件、版本和作业类型而异。

作业类型提供有关哪些插件支持哪些作业类型以及如何配置作业类型的信息。

GET
/v1.1/{project_id}/job-types

列出作业类型

列出所有作业类型。

您可以使用查询参数过滤响应。

正常响应代码:200 错误响应代码

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

plugin (可选)

路径

字符串

按插件名称过滤响应。

版本

路径

字符串

按插件版本过滤响应。

type

body

字符串

数据源对象的类型。

hints (可选)

路径

布尔值

在响应中包含配置提示。

响应参数

名称

入参

类型

描述

versions

body

数组

插件版本的列表。

title

body

字符串

插件的标题。

description

body

字符串

插件的完整描述。

job_types

body

数组

插件及其作业类型的列表。

name

body

字符串

插件名称。

响应示例

{
    "job_types": [
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "Hive"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "Java"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "MapReduce"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "MapReduce.Streaming"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "Pig"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "Shell"
        },
        {
            "plugins": [
                {
                    "description": "This plugin provides an ability to launch Spark on Hadoop CDH cluster without any management consoles.",
                    "versions": {
                        "1.0.0": {}
                    },
                    "title": "Apache Spark",
                    "name": "spark"
                }
            ],
            "name": "Spark"
        }
    ]
}

作业二进制文件内部对象

作业二进制文件内部对象表示存储在内部数据库中的数据处理应用程序和库。

PUT
/v1.1/{project_id}/job-binary-internals/{name}

创建作业二进制文件内部对象

创建作业二进制文件内部对象。

作业二进制文件内部对象是表示存储在内部数据库中的数据处理应用程序和库的对象。

在请求体中指定文件内容(原始数据或脚本文本)。在 URI 中指定文件名。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

name

路径

字符串

作业二进制文件内部对象的名称。

响应参数

名称

入参

类型

描述

name

body

字符串

作业二进制文件内部对象的名称。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

datasize

body

整数

存储在内部数据库中的数据大小。

id

body

字符串

作业二进制文件内部对象的 UUID。

GET
/v1.1/{project_id}/job-binary-internals/{job_binary_internals_id}/data

显示作业二进制文件内部对象数据

显示作业二进制文件内部对象的数据。

响应体显示作业二进制文件的原始数据,响应头显示数据长度。

示例响应

HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 161
Content-Type: text/html; charset=utf-8
Date: Sat, 28 Mar 2016 02:21:13 GMT
A = load '$INPUT' using PigStorage(':') as (fruit: chararray);
B = foreach A generate com.hadoopbook.pig.Trim(fruit);
store B into '$OUTPUT' USING PigStorage();

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_binary_internals_id

路径

字符串

作业二进制文件内部对象的 UUID。

响应参数

名称

入参

类型

描述

Content-Length

标头

字符串

数据长度(字节)。

响应示例

A = load '$INPUT' using PigStorage(':') as (fruit: chararray);
B = foreach A generate com.hadoopbook.pig.Trim(fruit);
store B into '$OUTPUT' USING PigStorage()
GET
/v1.1/{project_id}/job-binary-internals/{job_binary_internals_id}

显示作业二进制文件内部对象详细信息

显示作业二进制文件内部对象的详细信息。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_binary_internals_id

路径

字符串

作业二进制文件内部对象的 UUID。

响应参数

名称

入参

类型

描述

name

body

字符串

作业二进制文件内部对象的名称。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

datasize

body

整数

存储在内部数据库中的数据大小。

id

body

字符串

作业二进制文件内部对象的 UUID。

响应示例

{
    "job_binary_internal": {
        "is_public": false,
        "name": "script.pig",
        "tenant_id": "11587919cc534bcbb1027a161c82cf58",
        "created_at": "2013-10-15 13:17:35.994466",
        "updated_at": null,
        "datasize": 160,
        "id": "4833dc4b-8682-4d5b-8a9f-2036b47a0996",
        "is_protected": false
    }
}
DELETE
/v1.1/{project_id}/job-binary-internals/{job_binary_internals_id}

删除作业二进制文件内部对象

删除作业二进制文件内部对象。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_binary_internals_id

路径

字符串

作业二进制文件内部对象的 UUID。

PATCH
/v1.1/{project_id}/job-binary-internals/{job_binary_internals_id}

更新作业二进制文件内部对象

更新作业二进制文件内部对象。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_binary_internals_id

路径

字符串

作业二进制文件内部对象的 UUID。

请求示例

{
    "name": "public-jbi",
    "is_public": true
}
GET
/v1.1/{project_id}/job-binary-internals

列出作业二进制文件内部对象

列出可用的作业二进制文件内部对象。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

limit (可选)

路径

整数

响应数据中的最大对象数。

marker (可选)

路径

字符串

列表中最后一个元素的 ID,该元素不会包含在响应中。

sort_by (可选)

路径

字符串

用于对作业二进制文件内部对象进行排序的字段。此参数接受以下值:idnamecreated_atupdated_at。这些值也可以以 - 前缀开头以进行降序排序。例如:-name

响应参数

名称

入参

类型

描述

markers (可选)

body

对象

数据前一页和后一页的标记。如果请求中传递了 limit,则此字段存在。

prev (可选)

body

字符串

前一页的标记。如果前一页是第一页或当前页是第一页,则可能为 null

next(可选)

body

字符串

列表数据的下一页的标记。

binaries

body

数组

作业二进制文件内部对象的列表。

name

body

字符串

作业二进制文件内部对象的名称。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

is_protected

body

布尔值

如果设置为 true,则对象受保护。

is_public

body

布尔值

如果设置为 true,则对象为公共。

datasize

body

整数

存储在内部数据库中的数据大小。

id

body

字符串

作业二进制文件内部对象的 UUID。

GET
/v1.1/{project_id}/job-binary-internals

响应示例

{
    "binaries": [
        {
            "is_public": false,
            "name": "example.pig",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 12:36:59.329034",
            "updated_at": null,
            "datasize": 161,
            "id": "d2498cbf-4589-484a-a814-81436c18beb3",
            "is_protected": false
        },
        {
            "is_public": false,
            "name": "udf.jar",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 12:43:52.008620",
            "updated_at": null,
            "datasize": 3745,
            "id": "22f1d87a-23c8-483e-a0dd-cb4a16dde5f9",
            "is_protected": false
        }
    ]
}

作业

作业对象列出了作业运行所需的二进制文件。要运行作业,您必须指定数据源和作业参数。

您可以在现有或新的临时集群上运行作业。

POST
/v1.1/{project_id}/jobs/{job_id}/execute

运行作业

运行作业。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_id

路径

字符串

作业的 UUID。

请求示例

{
    "cluster_id": "811e1134-666f-4c48-bc92-afb5b10c9d8c",
    "input_id": "3e1bc8e6-8c69-4749-8e52-90d9341d15bc",
    "output_id": "52146b52-6540-4aac-a024-fee253cf52a9",
    "job_configs": {
        "configs": {
            "mapred.map.tasks": "1",
            "mapred.reduce.tasks": "1"
        },
        "args": [
            "arg1",
            "arg2"
        ],
        "params": {
            "param2": "value2",
            "param1": "value1"
        }
    }
}
GET
/v1.1/{project_id}/jobs

列出任务

列出所有作业。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

limit (可选)

路径

整数

响应数据中的最大对象数。

marker (可选)

路径

字符串

列表中最后一个元素的 ID,该元素不会包含在响应中。

sort_by (可选)

路径

字符串

用于对作业进行排序的字段。此参数接受以下值:idnametypecreated_atupdated_at。这些值也可以以 - 前缀开头以进行降序排序。例如:-name

响应参数

名称

入参

类型

描述

jobs

body

数组

作业列表。

description

body

字符串

作业对象的描述。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

mains

body

数组

作业对象及其属性的列表。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

libs

body

数组

作业对象属性的列表。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

接口

body

数组

作业对象的接口。

is_public

body

布尔值

如果设置为 true,则对象为公共。

type

body

字符串

数据源对象的类型。

id

body

字符串

作业对象的 UUID。

name

body

字符串

作业对象的名称。

markers (可选)

body

对象

数据前一页和后一页的标记。如果请求中传递了 limit,则此字段存在。

prev (可选)

body

字符串

前一页的标记。如果前一页是第一页或当前页是第一页,则可能为 null

next(可选)

body

字符串

列表数据的下一页的标记。

响应示例

..rest_method:: GET /v1.1/{project_id}/jobs?limit=2

{
    "jobs": [
        {
            "is_public": false,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-02-10 14:25:48",
            "id": "1a674c31-9aaa-4d07-b844-2bf200a1b836",
            "name": "Edp-test-job-3d60854e",
            "updated_at": null,
            "description": "",
            "interface": [],
            "libs": [
                {
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "created_at": "2015-02-10 14:25:48",
                    "id": "0ff4ac10-94a4-4e25-9ac9-603afe27b100",
                    "name": "binary-job-339c2d1a.jar",
                    "updated_at": null,
                    "description": "",
                    "url": "swift://Edp-test-c71e6bce.sahara/binary-job-339c2d1a.jar"
                }
            ],
            "type": "MapReduce",
            "mains": [],
            "is_protected": false
        },
        {
            "is_public": false,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-02-10 14:25:44",
            "id": "4d1f3759-3497-4927-8352-910bacf24e62",
            "name": "Edp-test-job-6b6953c8",
            "updated_at": null,
            "description": "",
            "interface": [],
            "libs": [
                {
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "created_at": "2015-02-10 14:25:44",
                    "id": "e0d47800-4ac1-4d63-a2e1-c92d669a44e2",
                    "name": "binary-job-6f21a2f8.jar",
                    "updated_at": null,
                    "description": "",
                    "url": "swift://Edp-test-b409ec68.sahara/binary-job-6f21a2f8.jar"
                }
            ],
            "type": "Pig",
            "mains": [
                {
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "created_at": "2015-02-10 14:25:44",
                    "id": "e073e896-f123-4b76-995f-901d786262df",
                    "name": "binary-job-d4f8bd75.pig",
                    "updated_at": null,
                    "description": "",
                    "url": "swift://Edp-test-b409ec68.sahara/binary-job-d4f8bd75.pig"
                }
            ],
            "is_protected": false
        }
    ],
    "markers": {
        "prev": null,
        "next": "c53832da-6e7b-449e-a166-9f9ce1718d03"
    }
}
POST
/v1.1/{project_id}/jobs

创建作业

创建作业对象。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

请求示例

{
    "description": "This is pig job example",
    "mains": [
        "90d9d5ec-11aa-48bd-bc8c-34936ce0db6e"
    ],
    "libs": [
        "320a2ca7-25fd-4b48-9bc3-4fb1b6c4ff27"
    ],
    "type": "Pig",
    "name": "pig-job-example"
}

响应参数

名称

入参

类型

描述

description

body

字符串

作业对象的描述。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

mains

body

数组

作业对象及其属性的列表。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

libs

body

数组

作业对象属性的列表。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

接口

body

数组

作业对象的接口。

is_public

body

布尔值

如果设置为 true,则对象为公共。

type

body

字符串

数据源对象的类型。

id

body

字符串

作业对象的 UUID。

name

body

字符串

作业对象的名称。

GET
/v1.1/{project_id}/jobs/{job_id}

显示作业详细信息

显示作业的详细信息。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_id

路径

字符串

作业的 UUID。

响应参数

名称

入参

类型

描述

description

body

字符串

作业对象的描述。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

mains

body

数组

作业对象及其属性的列表。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

libs

body

数组

作业对象属性的列表。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

接口

body

数组

作业对象的接口。

is_public

body

布尔值

如果设置为 true,则对象为公共。

type

body

字符串

数据源对象的类型。

id

body

字符串

作业对象的 UUID。

name

body

字符串

作业对象的名称。

响应示例

{
    "job": {
        "is_public": false,
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "created_at": "2015-02-10 14:25:48",
        "id": "1a674c31-9aaa-4d07-b844-2bf200a1b836",
        "name": "Edp-test-job",
        "updated_at": null,
        "description": "",
        "interface": [],
        "libs": [
            {
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "created_at": "2015-02-10 14:25:48",
                "id": "0ff4ac10-94a4-4e25-9ac9-603afe27b100",
                "name": "binary-job.jar",
                "updated_at": null,
                "description": "",
                "url": "swift://Edp-test-c71e6bce.sahara/binary-job.jar"
            }
        ],
        "type": "MapReduce",
        "mains": [],
        "is_protected": false
    }
}
DELETE
/v1.1/{project_id}/jobs/{job_id}

移除作业

移除作业。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_id

路径

字符串

作业的 UUID。

PATCH
/v1.1/{project_id}/jobs/{job_id}

更新作业对象

更新作业对象。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

job_id

路径

字符串

作业的 UUID。

请求示例

{
    "description": "This is public pig job example",
    "name": "public-pig-job-example"
}

响应参数

名称

入参

类型

描述

description

body

字符串

作业对象的描述。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

mains

body

数组

作业对象及其属性的列表。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

libs

body

数组

作业对象属性的列表。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

接口

body

数组

作业对象的接口。

is_public

body

布尔值

如果设置为 true,则对象为公共。

type

body

字符串

数据源对象的类型。

id

body

字符串

作业对象的 UUID。

name

body

字符串

作业对象的名称。

节点组模板

集群是具有相同配置的节点组。节点组模板配置集群中的节点。

模板配置 Hadoop 进程和 VM 特征,例如 Task Tracker 的 Reduce Slot 数量、CPU 数量和 RAM 容量。模板通过 OpenStack Flavor 指定 VM 特征。

GET
/v1.1/{project_id}/node-group-templates

列出节点组模板

列出可用的节点组模板。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

limit (可选)

路径

整数

响应数据中的最大对象数。

marker (可选)

路径

字符串

列表中最后一个元素的 ID,该元素不会包含在响应中。

sort_by (可选)

路径

字符串

用于对节点组模板进行排序的字段。此参数接受以下值:nameplugin_namehadoop_versioncreated_atupdated_atid。这些值也可以以 - 前缀开头以进行降序排序。例如:-name

响应参数

名称

入参

类型

描述

markers (可选)

body

对象

数据前一页和后一页的标记。如果请求中传递了 limit,则此字段存在。

prev (可选)

body

字符串

前一页的标记。如果前一页是第一页或当前页是第一页,则可能为 null

next(可选)

body

字符串

列表数据的下一页的标记。

volume_local_to_instance

body

布尔值

如果设置为 true,则卷是实例本地的。

availability_zone

body

字符串

节点在集群中的可用性。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

use_autoconfig

body

布尔值

如果设置为 true,则集群将自动配置。

volumes_per_node

body

整数

节点的卷数。

id

body

字符串

节点组模板的 UUID。

security_groups

body

字符串

节点的安全组。

共享

body

字符串

集群中资源的共享。

node_configs

body

对象

包含集群中节点配置的键值对集合。

auto_security_group

body

布尔值

如果设置为 True,则集群组会自动保护。

volumes_availability_zone

body

字符串

卷的可用区。

description (可选)

body

字符串

节点组模板的描述

volume_mount_prefix

body

字符串

节点的挂载点。

plugin_name

body

字符串

插件名称。

floating_ip_pool

body

字符串

模板中池的 UUID。

is_default

body

布尔值

如果设置为 true,则该集群是默认集群。

image_id

body

字符串

镜像的 UUID。

volumes_size

body

整数

节点中卷的大小。

is_proxy_gateway

body

布尔值

如果设置为 true,则该节点是代理网关。

is_public

body

布尔值

如果设置为 true,则对象为公共。

hadoop_version

body

字符串

集群中使用的 Hadoop 版本。

name

body

字符串

节点组模板的名称。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

volume_type

body

字符串

节点中卷的类型。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

node_processes

body

数组

节点执行的进程列表。

flavor_id

body

字符串

flavor 的 ID。

GET
/v1.1/{project_id}/node-group-templates?limit=2&marker=38b4e146-1d39-4822-bad2-fef1bf304a52&sort_by=name

响应示例

{
    "node_group_templates": [
        {
            "is_public": false,
            "image_id": null,
            "tenant_id": "808d5032ea0446889097723bfc8e919d",
            "shares": null,
            "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
            "node_configs": {},
            "auto_security_group": false,
            "is_default": false,
            "availability_zone": null,
            "plugin_name": "vanilla",
            "flavor_id": "2",
            "id": "0bb9f1a4-0c44-4dc5-9452-6741c62ed9ae",
            "description": null,
            "hadoop_version": "2.7.1",
            "use_autoconfig": true,
            "volumes_availability_zone": null,
            "created_at": "2015-09-14T10:20:11",
            "is_protected": false,
            "updated_at": null,
            "volumes_per_node": 0,
            "is_proxy_gateway": false,
            "name": "master",
            "volume_mount_prefix": "/volumes/disk",
            "node_processes": [
                "namenode",
                "resourcemanager",
                "oozie",
                "historyserver"
            ],
            "volumes_size": 0,
            "volume_local_to_instance": false,
            "security_groups": null,
            "volume_type": null
        },
        {
            "is_public": false,
            "image_id": null,
            "tenant_id": "808d5032ea0446889097723bfc8e919d",
            "shares": null,
            "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
            "node_configs": {},
            "auto_security_group": false,
            "is_default": false,
            "availability_zone": null,
            "plugin_name": "vanilla",
            "flavor_id": "2",
            "id": "846edb31-add5-46e6-a4ee-a4c339f99251",
            "description": null,
            "hadoop_version": "2.7.1",
            "use_autoconfig": true,
            "volumes_availability_zone": null,
            "created_at": "2015-09-14T10:27:00",
            "is_protected": false,
            "updated_at": null,
            "volumes_per_node": 0,
            "is_proxy_gateway": false,
            "name": "worker",
            "volume_mount_prefix": "/volumes/disk",
            "node_processes": [
                "datanode",
                "nodemanager"
            ],
            "volumes_size": 0,
            "volume_local_to_instance": false,
            "security_groups": null,
            "volume_type": null
        }
    ],
    "markers": {
        "prev":"39dfc852-8588-4b61-8d2b-eb08a67ab240",
        "next":"eaa0bd97-ab54-43df-83ab-77a9774d7358"
    }
}
POST
/v1.1/{project_id}/node-group-templates

创建节点组模板

创建节点组模板。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

请求示例

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.7.1",
    "node_processes": [
        "namenode",
        "resourcemanager",
        "oozie",
        "historyserver"
    ],
    "name": "master",
    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
    "flavor_id": "2"
}

响应参数

名称

入参

类型

描述

volume_local_to_instance

body

布尔值

如果设置为 true,则卷是实例本地的。

availability_zone

body

字符串

节点在集群中的可用性。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

use_autoconfig

body

布尔值

如果设置为 true,则集群将自动配置。

volumes_per_node

body

整数

节点的卷数。

id

body

字符串

节点组模板的 UUID。

security_groups

body

字符串

节点的安全组。

共享

body

字符串

集群中资源的共享。

node_configs

body

对象

包含集群中节点配置的键值对集合。

auto_security_group

body

布尔值

如果设置为 True,则集群组会自动保护。

volumes_availability_zone

body

字符串

卷的可用区。

description (可选)

body

字符串

节点组模板的描述

volume_mount_prefix

body

字符串

节点的挂载点。

plugin_name

body

字符串

插件名称。

floating_ip_pool

body

字符串

模板中池的 UUID。

is_default

body

布尔值

如果设置为 true,则该集群是默认集群。

image_id

body

字符串

镜像的 UUID。

volumes_size

body

整数

节点中卷的大小。

is_proxy_gateway

body

布尔值

如果设置为 true,则该节点是代理网关。

is_public

body

布尔值

如果设置为 true,则对象为公共。

hadoop_version

body

字符串

集群中使用的 Hadoop 版本。

name

body

字符串

节点组模板的名称。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

volume_type

body

字符串

节点中卷的类型。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

node_processes

body

数组

节点执行的进程列表。

flavor_id

body

字符串

flavor 的 ID。

GET
/v1.1/{project_id}/node-group-templates/{node_group_template_id}

显示节点组模板详细信息

按 ID 显示节点组模板。

正常响应代码:200

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

node_group_template_id

路径

字符串

节点组模板的 UUID。

响应参数

名称

入参

类型

描述

volume_local_to_instance

body

布尔值

如果设置为 true,则卷是实例本地的。

availability_zone

body

字符串

节点在集群中的可用性。

updated_at

body

字符串

集群更新的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

use_autoconfig

body

布尔值

如果设置为 true,则集群将自动配置。

volumes_per_node

body

整数

节点的卷数。

id

body

字符串

节点组模板的 UUID。

security_groups

body

字符串

节点的安全组。

共享

body

字符串

集群中资源的共享。

node_configs

body

对象

包含集群中节点配置的键值对集合。

auto_security_group

body

布尔值

如果设置为 True,则集群组会自动保护。

volumes_availability_zone

body

字符串

卷的可用区。

description (可选)

body

字符串

节点组模板的描述

volume_mount_prefix

body

字符串

节点的挂载点。

plugin_name

body

字符串

插件名称。

floating_ip_pool

body

字符串

模板中池的 UUID。

is_default

body

布尔值

如果设置为 true,则该集群是默认集群。

image_id

body

字符串

镜像的 UUID。

volumes_size

body

整数

节点中卷的大小。

is_proxy_gateway

body

布尔值

如果设置为 true,则该节点是代理网关。

is_public

body

布尔值

如果设置为 true,则对象为公共。

hadoop_version

body

字符串

集群中使用的 Hadoop 版本。

name

body

字符串

节点组模板的名称。

tenant_id

body

字符串

租户的 UUID。

created_at

body

字符串

集群创建的日期和时间。

日期和时间戳格式为 ISO 8601

CCYY-MM-DDThh:mm:ss±hh:mm

如果包含 ±hh:mm 值,则返回 UTC 的时区偏移量。

例如,2015-08-27T09:49:58-05:00

volume_type

body

字符串

节点中卷的类型。

is_protected

body

布尔值

如果设置为 true,则对象受保护。

node_processes

body

数组

节点执行的进程列表。

flavor_id

body

字符串

flavor 的 ID。

响应示例

{
    "node_group_template": {
        "is_public": false,
        "image_id": null,
        "tenant_id": "808d5032ea0446889097723bfc8e919d",
        "shares": null,
        "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
        "node_configs": {},
        "auto_security_group": false,
        "is_default": false,
        "availability_zone": null,
        "plugin_name": "vanilla",
        "flavor_id": "2",
        "id": "0bb9f1a4-0c44-4dc5-9452-6741c62ed9ae",
        "description": null,
        "hadoop_version": "2.7.1",
        "use_autoconfig": true,
        "volumes_availability_zone": null,
        "created_at": "2015-09-14T10:20:11",
        "is_protected": false,
        "updated_at": null,
        "volumes_per_node": 0,
        "is_proxy_gateway": false,
        "name": "master",
        "volume_mount_prefix": "/volumes/disk",
        "node_processes": [
            "namenode",
            "resourcemanager",
            "oozie",
            "historyserver"
        ],
        "volumes_size": 0,
        "volume_local_to_instance": false,
        "security_groups": null,
        "volume_type": null
    }
}
DELETE
/v1.1/{project_id}/node-group-templates/{node_group_template_id}

删除节点组模板

删除节点组模板。

正常响应代码:204

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

node_group_template_id

路径

字符串

节点组模板的 UUID。

PUT
/v1.1/{project_id}/node-group-templates/{node_group_template_id}

更新节点组模板

更新节点组模板。

正常响应代码:202

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

node_group_template_id

路径

字符串

节点组模板的 UUID。

请求示例

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.7.1",
    "node_processes": [
        "datanode"
    ],
    "name": "new",
    "floating_ip_pool": "033debed-aeb8-488c-b7d0-adb74c61faa5",
    "flavor_id": "2"
}

插件

插件对象定义了它可以安装的 Hadoop 或 Spark 版本以及可以为集群设置的配置。

GET
/v1.1/{project_id}/plugins/{plugin_name}

显示插件详细信息

显示插件的详细信息。

正常响应代码:200 错误响应代码:400, 500

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

plugin_name

路径

字符串

插件名称。

响应参数

名称

入参

类型

描述

versions

body

数组

插件版本的列表。

title

body

字符串

插件的标题。

description

body

字符串

插件的完整描述。

name

body

字符串

插件名称。

响应示例

{
    "plugin": {
        "name": "vanilla",
        "versions": [
            "1.2.1",
            "2.4.1",
            "2.6.0"
        ],
        "title": "Vanilla Apache Hadoop",
        "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component."
    }
}
GET
/v1.1/{project_id}/plugins

列出插件

列出所有已注册的插件。

正常响应代码:200 错误响应代码:400, 500

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

响应参数

名称

入参

类型

描述

title

body

字符串

插件的标题。

versions

body

数组

插件版本的列表。

插件

body

数组

插件列表。

description

body

字符串

插件的完整描述。

name

body

字符串

插件名称。

响应示例

{
    "plugins": [
        {
            "name": "vanilla",
            "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
            "versions": [
                "1.2.1",
                "2.4.1",
                "2.6.0"
            ],
            "title": "Vanilla Apache Hadoop"
        },
        {
            "name": "hdp",
            "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
            "versions": [
                "1.3.2",
                "2.0.6"
            ],
            "title": "Hortonworks Data Platform"
        },
        {
            "name": "spark",
            "description": "This plugin provides an ability to launch Spark on Hadoop CDH cluster without any management consoles.",
            "versions": [
                "1.0.0",
                "0.9.1"
            ],
            "title": "Apache Spark"
        },
        {
            "name": "cdh",
            "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
            "versions": [
                "5",
                "5.3.0"
            ],
            "title": "Cloudera Plugin"
        }
    ]
}
GET
/v1.1/{project_id}/plugins/{plugin_name}/{version}

显示插件版本详细信息

显示插件版本的详细信息。

正常响应代码:200 错误响应代码:400, 500

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

plugin_name

路径

字符串

插件名称。

版本

路径

字符串

按插件版本过滤响应。

响应参数

名称

入参

类型

描述

versions

body

数组

插件版本的列表。

title

body

字符串

插件的标题。

description

body

字符串

插件的完整描述。

name

body

字符串

插件名称。

响应示例

{
    "plugin": {
        "name": "vanilla",
        "versions": [
            "1.2.1",
            "2.4.1",
            "2.6.0"
        ],
        "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
        "required_image_tags": [
            "vanilla",
            "2.6.0"
        ],
        "node_processes": {
            "JobFlow": [
                "oozie"
            ],
            "HDFS": [
                "namenode",
                "datanode",
                "secondarynamenode"
            ],
            "YARN": [
                "resourcemanager",
                "nodemanager"
            ],
            "MapReduce": [
                "historyserver"
            ],
            "Hadoop": [],
            "Hive": [
                "hiveserver"
            ]
        },
        "configs": [
            {
                "default_value": "/tmp/hadoop-${user.name}",
                "name": "hadoop.tmp.dir",
                "priority": 2,
                "config_type": "string",
                "applicable_target": "HDFS",
                "is_optional": true,
                "scope": "node",
                "description": "A base for other temporary directories."
            },
            {
                "default_value": true,
                "name": "hadoop.native.lib",
                "priority": 2,
                "config_type": "bool",
                "applicable_target": "HDFS",
                "is_optional": true,
                "scope": "node",
                "description": "Should native hadoop libraries, if present, be used."
            },
            {
                "default_value": 1024,
                "name": "NodeManager Heap Size",
                "config_values": null,
                "priority": 1,
                "config_type": "int",
                "applicable_target": "YARN",
                "is_optional": false,
                "scope": "node",
                "description": null
            },
            {
                "default_value": true,
                "name": "Enable Swift",
                "config_values": null,
                "priority": 1,
                "config_type": "bool",
                "applicable_target": "general",
                "is_optional": false,
                "scope": "cluster",
                "description": null
            },
            {
                "default_value": true,
                "name": "Enable MySQL",
                "config_values": null,
                "priority": 1,
                "config_type": "bool",
                "applicable_target": "general",
                "is_optional": true,
                "scope": "cluster",
                "description": null
            }
        ],
        "title": "Vanilla Apache Hadoop"
    }
}
PATCH
/v1.1/{project_id}/plugins/{plugin_name}

更新插件详细信息

更新插件的详细信息。

正常响应代码:202 错误响应代码:400, 500

请求

名称

入参

类型

描述

project_id

路径

字符串

项目的 UUID。

plugin_name

路径

字符串

插件名称。

请求示例

{
    "plugin_labels": {
        "enabled": {
            "status": false
        }
    }
}

响应参数

名称

入参

类型

描述

title

body

字符串

插件的标题。

versions

body

数组

插件版本的列表。

description

body

字符串

插件的完整描述。

name

body

字符串

插件名称。

响应示例

{
  "plugin": {
    "plugin_labels": {
      "hidden": {
        "status": true,
        "mutable": true,
        "description": "Existence of plugin or its version is hidden, but still can be used for cluster creation by CLI and directly by client."
      },
      "enabled": {
        "status": false,
        "mutable": true,
        "description": "Plugin or its version is enabled and can be used by user."
      }
    },
    "description": "It's a fake plugin that aimed to work on the CirrOS images. It doesn't install Hadoop. It's needed to be able to test provisioning part of Sahara codebase itself.",
    "versions": [
      "0.1"
    ],
    "tenant_id": "993f53c1f51845e48e013aeb632358d8",
    "title": "Fake Plugin",
    "version_labels": {
      "0.1": {
        "enabled": {
          "status": true,
          "mutable": true,
          "description": "Plugin or its version is enabled and can be used by user."
        }
      }
    },
    "name": "fake"
  }
}