使用任務運行器對現有資源執行工作 - AWS Data Pipeline

AWS Data Pipeline 不再提供給新客戶。現有客戶 AWS Data Pipeline 可繼續正常使用此服務。進一步了解

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用任務運行器對現有資源執行工作

您可以在您管理的運算資源 (例如 Amazon EC2 執行個體、實體伺服器或工作站) 上安裝任務執行器。任務運行器可以在任何地方安裝,在任何兼容的硬件或操作系統上,前提是它可以與 AWS Data Pipeline Web 服務進行通信。

例如,當您想要用 AWS Data Pipeline 來處理儲存在組織防火牆內的資料時,此方法很有用。藉由在區域網路中的伺服器上安裝 Task Runner,您可以安全地存取本機資料庫,然後輪 AWS Data Pipeline 詢下一個要執行的工作。當 AWS Data Pipeline 結束處理或刪除管線時,Task Runner 執行個體會保持在您的計算資源上執行,直到您手動將其關閉為止。管線執行完成後,工作執行程式記錄會持續存在。

若要在您管理的資源上使用 Task Runner,您必須先下載 Task Runner,然後使用本節中的程序將其安裝在您的計算資源上。

注意

您只能在 Linux 或 macOS 上安裝工作執行程式。UNIXWindows 作業系統不支援工作執行程式。

要使用任務運行器 2.0,所需的最低 Java 版本是 1.7。

若要將已安裝的 Task Runner 連接到它應該處理的管線活動,請將workerGroup欄位新增至物件,然後將 Task Runner 設定為輪詢該背景工作群組值。您可以在執行 Task Runner JAR 檔案時,將 Worker 群組字串作為參數 (例如--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/軟件/最新/TaskRunner/TaskRunner-1.0.jar 下載,然後將其複製到目標計算資源上的文件夾中。對於執行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

Task Runner 應與您的登入殼層分離執行。若您使用終端機應用程式連線到您的電腦,您可能需要使用公用程式 (例如 nohup 或 screen) 來防止 Task Runner 應用程式在您登出時離開。如需命令列選項的詳細資訊,請參閱 工作流道組態選項

驗證工作執行器記錄

驗證任務執行器是否正常工作的最簡單方法是檢查它是否正在寫入日誌文件。工作執行程式會將每小時記錄檔案寫入目錄output/logs,位於安裝工作執行程式的目錄下。檔案名稱為Task Runner.log.YYYY-MM-DD-HH,其中 HH 從 00 執行到 23,在中UDT。若要節省儲存空間,任何超過八小時的記錄檔都會使用壓縮GZip。