使用任务运行程序在现有资源上执行工作 - AWS Data Pipeline

AWS Data Pipeline 不再向新客户提供。的现有客户 AWS Data Pipeline 可以继续照常使用该服务。了解更多

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用任务运行程序在现有资源上执行工作

您可以在自己管理的计算资源(EC2例如 Amazon 实例、物理服务器或工作站)上安装 Task Runner。Task Runner 可以安装在任何兼容的硬件或操作系统上的任何地方,前提是它可以与 AWS Data Pipeline Web 服务通信。

例如,当您想要使用 AWS Data Pipeline 处理存储在组织防火墙内的数据时,这种方法可能很有用。通过在本地网络的服务器上安装 Task Runner,您可以安全地访问本地数据库,然后轮 AWS Data Pipeline 询下一个要运行的任务。当 AWS Data Pipeline 结束处理或删除管道时,Task Runner 实例将在您的计算资源上继续运行,直到您手动将其关闭。管道执行完成后,任务运行程序日志将保留。

要在您管理的资源上使用任务运行程序,您必须先下载任务运行程序,然后使用此部分中的过程将它安装到您的计算资源上。

注意

你只能在 Linux 或 macOS 上安装 Task Runner。UNIXWindows 操作系统不支持任务运行程序。

要使用任务运行程序 2.0,所需的最低 Java 版本为 1.7。

要将安装的任务运行程序连接到它将处理的管道活动,请将 workerGroup 字段添加到该对象,并将任务运行程序配置为轮询此工作线程组值。为此,您可以在运行 Task Runner JAR 文件时将工作组字符串作为参数传递(例如--workerGroup=wg-12345)。

AWS Data Pipeline diagram showing monthly task flow for archiving processed invoices using Task Runner.
{ "id" : "CreateDirectory", "type" : "ShellCommandActivity", "workerGroup" : "wg-12345", "command" : "mkdir new-directory" }

安装任务运行程序

此部分介绍如何安装和配置任务运行程序及其先决条件。安装是一个简单的手动过程。

安装任务运行程序
  1. 任务运行程序需要 Java 版本 1.6 或 1.8。要确定是否已安装 Java 以及所运行的版本,请使用以下命令:

    java -version

    如果您的计算机上未安装 Java 1.6 或 1.8,则可从 http://www.oracle.com/technetwork/java/index.html 下载其中一个版本。下载并安装 Java,然后继续下一步骤。

  2. TaskRunner-1.0.jarhttps://s3.amazonaws.com/datapipeline-us-east-1/us-east-1/software/latestTaskRunner//TaskRunner-1.0.j ar 下载,然后将其复制到目标计算资源上的文件夹中。对于运行EmrActivity任务的 Amazon EMR 集群,请在集群的主节点上安装任务运行器。

  3. 使用 Task Runner 连接到 AWS Data Pipeline Web 服务以处理您的命令时,用户需要以编程方式访问有权创建或管理数据管道的角色。有关更多信息,请参阅 授权以编程方式访问

  4. 任务运行器使用连接到 AWS Data Pipeline Web 服务HTTPS。如果您使用的是 AWS 资源,请确保HTTPS在相应的路由表和子网中启用该资源ACL。如果您使用的是防火墙或代理,请确保端口 443 处于打开状态。

启动任务运行程序

在设置为已将任务运行程序安装到的目录的新命令提示窗口中,使用以下命令启动任务运行程序。

java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=myWorkerGroup --region=MyRegion --logUri=s3://mybucket/foldername

--config 选项指向您的凭证文件。

--workerGroup 选项指定工作线程组的名称,它必须是您在管道中为要处理的任务指定的同一值。

--region 选项指定从中提取要执行的任务的服务区域。

--logUri 选项用于将压缩的日志推送到 Amazon S3 中的某个位置。

当任务运行程序处于活动状态时,它将在终端窗口中输出日志文件的写入位置的路径。示例如下:

Logging to /Computer_Name/.../output/logs

任务运行程序应独立于登录 shell 运行。如果您使用终端应用程序来连接到您的计算机,则可能需要使用实用工具 (如 nohup 或 screen) 来防止任务运行程序应用程序在您注销时退出。有关命令行选项的更多信息,请参阅任务运行程序配置选项

验证任务运行程序日志记录

验证任务运行程序是否正常工作的最简单方法是,检查它是否在写入日志文件。任务运行程序每小时将日志文件写入到安装任务运行程序的目录下的 output/logs 目录中。文件名为Task Runner.log.YYYY-MM-DD-HH,其中 HH 从 00 到 23,在。UDT为了节省存储空间,任何超过八小时的日志文件都使用压缩GZip。