上云无忧 > 文档中心 > 腾讯云批量计算 Batch - 命令行快速开始
批量计算 Batch
腾讯云批量计算 Batch - 命令行快速开始

文档简介:
操作场景: 本文介绍如何使用命令行 TCCLI 来提交一个简单的作业,文中示例为使用 Python 实现对斐波那契数列求和。Python 代码由任务中 Application 参数的 Command 字段指定,返回结果直接输出到任务配置的 stdout 输出地址。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

操作场景

本文介绍如何使用命令行 TCCLI 来提交一个简单的作业,文中示例为使用 Python 实现对斐波那契数列求和。Python 代码由任务中 Application 参数的 Command 字段指定,返回结果直接输出到任务配置的 stdout 输出地址。

前提条件

请参见 开始前的准备 中的步骤做好准备。

操作步骤

安装和配置 TCCLI

1. 请参见 安装 TCCLI 安装命令行工具。
2. 执行以下命令,验证 TCCLI 是否成功安装。
		
tccli batch help
返回结果如下,则成功安装。
		
NAME
batch
DESCRIPTION
batch-2017-03-12
USEAGE
tccli batch <action> [--param...]
OPTIONS
help
show the tccli batch help info
--version
specify a batch api version
AVAILABLE ACTION
DescribeComputeEnv
用于查询计算环境的详细信息
CreateTaskTemplate
用于创建任务模板
3. 请按照 配置 TCCLI 配置命令行工具。

创建保存结果的 COS Bucket

在本文示例中,返回结果将直接输出到系统标准输出中,而 Batch 可以采集系统标准输出 stdout 和 stderr,并在任务结束后将信息上传到已指定的 COS Bucket 中,您需提前创建 Bucket 及用于保存信息的子文件夹。
请参见 准备 COS 目录 创建对应 COS Bucket 和子文件夹。

作业配置简介

您可获取并修改官方提供的示例,作为个人账号下可执行的 Batch 计算环境。请参考以下内容了解计算环境各项配置的含义:
		
tccli batch SubmitJob --version 2017-03-12 --Job '{
"JobName": "TestJob", // 作业名称
"JobDescription": "for test ", // 作业描述
"Priority": "1", // 作业优先级
"Tasks": [ // 任务列表(本例仅一个任务)
{
"TaskName": "Task1", // 任务1名称
"Application": { // 任务执行命令
"DeliveryForm": "LOCAL", // 执行本地命令
"Command": "python -c \"fib=lambda n:1 if n<=2 else fib(n-1)+fib(n-2); print(fib(20))\" " // 命令具体内容(斐波拉契求和)
},
"ComputeEnv": { // 计算环境配置
"EnvType": "MANAGED", // 计算环境类型,托管型和非托管型
"EnvData": { // 具体配置(当前托管型,可参照CVM 创建实例说明)
"InstanceType": "S1.SMALL1", // CVM 实例类型
"ImageId": "img-m4q71qnf", // CVM 镜像 ID(需替换)
}
},
"RedirectInfo": { // 标准输出重定向配置
"StdoutRedirectPath": "cos://dondonbatchv5-125xxxxxx4.cosgz.myqcloud.com/logs/", // 标准输出(需替换)
"StderrRedirectPath": "cos://dondonbatchv5-125xxxxxx4.cosgz.myqcloud.com/logs/" // 标准错误(需替换)
}
}
]
}'
--Placement'{
"Zone": "ap-guangzhou-2" // 可用区(可能需替换)
}'

SubmitJob 命令

Batch 的 SubmitJob 命令示例:

		

tccli batch SubmitJob --version 2017-03-12 --Job '{"JobName": "TestJob", "JobDescription":

"for test", "Priority": "1", "Tasks": [{"TaskName": "Task1", "TaskInstanceNum": 1,

"Application": {"DeliveryForm": "LOCAL", "Command": "python -c \"fib=lambda n:1 if n<=2

else fib(n-1)+fib(n-2); print(fib(20))\" "}, "ComputeEnv": {"EnvType": "MANAGED",

"EnvData": {"InstanceType": "S1.SMALL1", "ImageId": "待替换" } }, "RedirectInfo":

{"StdoutRedirectPath": "待替换", "StderrRedirectPath": "待替换"}, "MaxRetryCount":

1 } ] }' --Placement '{"Zone": "ap-guangzhou-2"}'

SubmitJob 命令包含以下3个参数:
参数
描述
version
版本号,目前固定填写2017-03-12
Job
作业配置,JSON 格式,详细字段意义见示例
Placement
执行作业的可用区
在示例中已标识需替换的字段,您需要替换为个人信息后才可以执行。例如自定义镜像 ID,VPC 相关信息,COS Bucket 地址和对应 SecretId、SecretKey,可参见 修改配置
请使用示例后方的复制按钮,防止复制内容不完整。请将待替换信息全部替换后再执行命令。
详细 Job 配置说明请参见 作业配置说明

修改配置

填写 ImageId

		
"ImageId": "待替换"
您需要使用基于 Cloud-init 服务和配置过的镜像,官方提供可直接使用镜像如下:
CentOS 6.5 镜像:ID 为 img-m4q71qnf
Windows Server 2012 的官方镜像: ID 为 img-er9shcln

配置 StdoutRedirectPath 和 StderrRedirectPath

		
"StdoutRedirectPath": "待替换", "StderrRedirectPath": "待替换"
请将在 创建保存结果的 COS Bucket 获取的访问域名填写到 StdoutRedirectPath 和 StderrRedirectPath 中。

修改可用区(可选)

		
--Placement '{"Zone": "ap-guangzhou-2"}'
示例中指定在广州二区申请资源,您可以根据 TCCLI 中配置的默认地域,选择相应的可用区并申请资源。 地域和可用区的详细信息请查看 地域和可用区

查看结果

返回结果如下,则表示执行成功。
		
{
"RequestId": "db84b7f8-ff8e-4c11-81c1-9a3b02652a46",
"JobId": "job-cr8qyyh9"
}
执行以下命令,通过 DescribeJob 查看刚才提交的任务信息。
		
$ tccli batch DescribeJob --version 2017-03-12 --JobId job-cr8qyyh9
{
"EndTime": "2019-10-08T07:28:07Z",
"JobState": "SUCCEED",
"TaskInstanceMetrics": {
...
},
"Zone": "ap-guangzhou-2",
"TaskMetrics": {
...
},
"JobName": "TestJob",
"Priority": 1,
"RequestId": "0e5c5ea5-ef25-4f90-b355-cfaa8057d473",
"TaskSet": [
{
...
}
],
"StateReason": null,
"JobId": "job-cr8qyyh9",
"DependenceSet": [],
"CreateTime": "2019-10-08T07:27:17Z"
}
执行以下命令,通过 DescribeJobs 查看当前地域作业列表。
		
$ tccli batch DescribeJobs --version 2017-03-12

更多功能

文中的示例为单任务的作业,仅展示了最基本的功能,未使用远程存储映射能力,您可以通过以下文档或参见 API 文档 深入了解并使用 Batch:
更简单的操作方法:Batch 的能力强大,配置项较多,通过脚本来调用会更加简便快捷,请参见 前置准备简单开始 开始尝试这种方式。
执行远程代码包:Batch 提供自定义镜像 + 远程代码包 + 命令行的方式,在技术上全方位覆盖您的业务需要,详情请参见 执行远程代码包
远程存储映射:Batch 在存储访问上进行优化,将对远程存储服务的访问简化为对本地文件系统操作,详情请参见 远程存储映射
相似文档
  • 操作场景: 本文介绍如何使用命令行 TCCLI 来创建计算环境、向计算环境提交作业、销毁计算环境。 前提条件: 请参见 开始前的准备 中的步骤做好准备。
  • 1. 简要说明。 批量计算 Batch 的作业配置以 JSON 格式提供,下面给出这个配置的简要说明,下面的作业包含2个任务:
  • 快速开始: 本文介绍如何使用批量计算控制台提交一个作业,具体操作步骤如下。 准备: 准备好 对象存储 存储桶。如果您尚未创建存储桶,请参照 创建存储桶 完成创建。
  • 创建任务模板: 任务模板的相关说明,请参见 名词解释 中的“任务模板”。您可以通过 批量计算控制台 创建任务模板,具体步骤如下。 1. 登录 批量计算控制台 。如果您尚未开通批量计算服务,请参照批量计算控制台主页相关提示开通。
  • 操作场景: 本文介绍如何通过批量计算控制台,创建、终止及删除作业。作业相关说明,请参见 名词解释 中作业。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部