全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
批量计算

本地调试

更新时间:2017-06-07 13:26:11

如果你想要使用Docker镜像本地调试一下程序, 可以根据本节内容操作,如果不需要本地调试,请跳过本节。

1. 任务程序可以使用的变量说明

在 BatchCompute 中,运行在 docker 容器中的环境和不使用 docker 容器时的环境变量稍微不同, 具体请看环境变量

2. 本地测试命令

在制作完成 docker 镜像后,您可以使用如下的命令进行本地测试。

  1. docker run -it -v /home/local_folder:/batchcompute/workdir
  2. -e BATCH_COMPUTE_DAG_INSTANCE_ID=<your_instance_id>
  3. -e BATCH_COMPUTE_DAG_TASK_ID=<your_task_name>
  4. -e BATCH_COMPUTE_DAG_JOB_ID=job-0000000000
  5. -e BATCH_COMPUTE_OSS_HOST=<your_oss_host>
  6. your_docker_image_name your_command

其中

  1. -v /home/local_folder:/batchcompute/workdir 表示挂载本地/home/local_folder目录到 docker容器镜像中的 /batchcompute/workdir 目录
  2. -e key=value 表示指定环境变量
  3. your_task_name 作业中 task 的名称
  4. your_job_name: 作业的名称
  5. your_instance_id: 任务实例ID,从0开始递增的整数, 如这个任务你要启动3个实例来运行,则id分别为0,1,2
  6. your_oss_host: OSS主机名(域名,应包含region信息,且不带"http://"前缀)
  7. your_docker_image_name: 您制作的 docker 镜像名称,如 myubuntu
  8. your_command:命令行及参数

举例:

假设您的本地程序路径: /home/admin/log-count/

  1. docker run -it -v /home/admin/log-count/:/batchcompute/workdir -e BATCH_COMPUTE_INSTANCE_ID=0 -e BATCH_COMPUTE_TASK_ID=split -e BATCH_COMPUTE_JOB_ID=job-0000000000 -e BATCH_COMPUTE_OSS_HOST=oss-cn-shenzhen.aliyuncs.com myubuntu python /batchcompute/workdir/split.py

这个命令是在本地运行 myubuntu 这个docker镜像,将本地目录/home/admin/log-count/挂载到docker镜像的/batchcompute/workdir/目录,并在这个镜像里运行python /batchcompute/workdir/split.py命令。

注意:

  • 本地的/home/admin/log-count/目录是程序所在目录, 目录中应当有split.py。
  • BATCH_COMPUTE_INSTANCE_ID 从0开始,假如你配置该任务启动3个实例,则 BATCH_COMPUTE_INSTANCE_ID 分别为0,1,2。
本文导读目录