Herstellen einer Verbindung zu Apache Oozie-Workflows mit dem AWS Schema Conversion Tool - AWS Schema Conversion Tool

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Herstellen einer Verbindung zu Apache Oozie-Workflows mit dem AWS Schema Conversion Tool

Sie können die AWS SCT Befehlszeilenschnittstelle (CLI) verwenden, um Apache Oozie-Workflows in zu konvertieren. AWS Step Functions Nachdem Sie Ihre Apache Hadoop-Workloads zu Amazon migriert habenEMR, können Sie einen nativen Service in der verwenden, um Ihre Jobs AWS Cloud zu orchestrieren. Weitere Informationen finden Sie unter Verbindung zu Apache Hadoop herstellen.

AWS SCT konvertiert Ihre Oozie-Workflows in Funktionen, die nicht unterstützt werden, AWS Step Functions und verwendet AWS Lambda diese, um sie zu emulieren. AWS Step Functions AWS SCT Konvertiert außerdem Ihre Oozie-Jobeigenschaften in. AWS Systems Manager

Um Apache Oozie-Workflows zu konvertieren, stellen Sie sicher, dass Sie AWS SCT Version 1.0.671 oder höher verwenden. Machen Sie sich auch mit der Befehlszeilenschnittstelle von vertraut. AWS SCT Weitere Informationen finden Sie unter CLIReferenz für AWS Schema Conversion Tool.

Voraussetzungen für die Verwendung von Apache Oozie als Quelle

Die folgenden Voraussetzungen sind erforderlich, um mit dem eine Verbindung zu Apache Oozie herzustellen. AWS SCT CLI

  • Erstellen Sie einen Amazon S3 S3-Bucket, um die Definitionen von Zustandsmaschinen zu speichern. Sie können diese Definitionen verwenden, um Ihre Zustandsmaschinen zu konfigurieren. Weitere Informationen finden Sie unter Erstellen eines Buckets im Amazon S3 S3-Benutzerhandbuch.

  • Erstellen Sie eine Rolle AWS Identity and Access Management (IAM) mit der AmazonS3FullAccess Richtlinie. AWS SCT verwendet diese IAM Rolle, um auf Ihren Amazon S3 S3-Bucket zuzugreifen.

  • Notieren Sie sich Ihren AWS geheimen Schlüssel und Ihren AWS geheimen Zugriffsschlüssel. Weitere Informationen zu AWS Zugriffsschlüsseln finden Sie im IAMBenutzerhandbuch unter Verwaltung von Zugriffsschlüsseln.

  • Speichern Sie Ihre AWS Anmeldeinformationen und die Informationen zu Ihrem Amazon S3 S3-Bucket im AWS Serviceprofil in den globalen Anwendungseinstellungen. AWS SCT Verwendet dann dieses AWS Serviceprofil, um mit Ihren AWS Ressourcen zu arbeiten. Weitere Informationen finden Sie unter Profile verwalten in AWS Schema Conversion Tool.

Um mit Ihren Apache Oozie-Quell-Workflows arbeiten zu können, AWS SCT ist die spezifische Struktur Ihrer Quelldateien erforderlich. Jeder Ihrer Anwendungsordner muss die job.properties Datei enthalten. Diese Datei enthält Schlüssel-Wert-Paare Ihrer Jobeigenschaften. Außerdem muss jeder Ihrer Bewerbungsordner die workflow.xml Datei enthalten. In dieser Datei werden die Aktionsknoten und Kontrollflussknoten Ihres Workflows beschrieben.

Verbindung zu Apache Oozie als Quelle herstellen

Verwenden Sie das folgende Verfahren, um eine Verbindung zu Ihren Apache Oozie-Quelldateien herzustellen.

Um eine Verbindung zu Apache Oozie herzustellen, finden Sie im AWS SCT CLI
  1. Erstellen Sie ein neues AWS SCT CLI Skript oder bearbeiten Sie eine vorhandene Szenariovorlage. Sie können die OozieConversionTemplate.scts Vorlage beispielsweise herunterladen und bearbeiten. Weitere Informationen finden Sie unter CLISzenarien abrufen.

  2. Konfigurieren Sie die AWS SCT Anwendungseinstellungen.

    Das folgende Codebeispiel speichert die Anwendungseinstellungen und ermöglicht das Speichern von Passwörtern in Ihrem Projekt. Sie können diese gespeicherten Einstellungen in anderen Projekten verwenden.

    SetGlobalSettings -save: 'true' -settings: '{ "store_password": "true" }' /
  3. Erstellen Sie ein neues AWS SCT Projekt.

    Im folgenden Codebeispiel wird das oozie Projekt im c:\sct Ordner erstellt.

    CreateProject -name: 'oozie' -directory: 'c:\sct' /
  4. Fügen Sie den Ordner mit Ihren Apache Oozie-Quelldateien mithilfe des AddSource Befehls zum Projekt hinzu. Stellen Sie sicher, dass Sie den APACHE_OOZIE Wert für den vendor Parameter verwenden. Geben Sie außerdem Werte für die folgenden erforderlichen Parameter an: name undmappingsFolder.

    Das folgende Codebeispiel fügt Apache Oozie als Quelle in Ihr AWS SCT Projekt ein. In diesem Beispiel wird ein Quellobjekt mit dem Namen OOZIE erstellt. Verwenden Sie diesen Objektnamen, um Zuordnungsregeln hinzuzufügen. AWS SCT Verwendet nach der Ausführung dieses Codebeispiels den c:\oozie Ordner, um Ihre Quelldateien in das Projekt zu laden.

    AddSource -name: 'OOZIE' -vendor: 'APACHE_OOZIE' -mappingsFolder: 'c:\oozie' /

    Sie können dieses Beispiel und die folgenden Beispiele in Windows verwenden.

  5. Stellen Sie mit dem ConnectSource Befehl eine Connect zu Ihren Apache Oozie-Quelldateien her. Verwenden Sie den Namen Ihres Quellobjekts, den Sie im vorherigen Schritt definiert haben.

    ConnectSource -name: 'OOZIE' -mappingsFolder: 'c:\oozie' /
  6. Speichern Sie Ihr CLI Skript. Fügen Sie als Nächstes die Verbindungsinformationen für Ihren AWS Step Functions Dienst hinzu.

Berechtigungen für die Verwendung von AWS Lambda Funktionen im Erweiterungspaket

Für die Quellfunktionen, die AWS Step Functions nicht unterstützt werden, AWS SCT erstellt ein Erweiterungspaket. Dieses Erweiterungspaket enthält AWS Lambda Funktionen, die Ihre Quellfunktionen emulieren.

Um dieses Erweiterungspaket zu verwenden, erstellen Sie eine AWS Identity and Access Management (IAM) -Rolle mit den folgenden Berechtigungen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "lambda", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:498160209112:function:LoadParameterInitialState:*", "arn:aws:lambda:*:498160209112:function:EvaluateJSPELExpressions:*" ] }, { "Sid": "emr", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeStep", "elasticmapreduce:AddJobFlowSteps" ], "Resource": [ "arn:aws:elasticmapreduce:*:498160209112:cluster/*" ] }, { "Sid": "s3", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::*/*" ] } ] }

Um das Erweiterungspaket anzuwenden, AWS SCT ist eine IAM Rolle mit den folgenden Berechtigungen erforderlich.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRolePolicies", "iam:CreateRole", "iam:TagRole", "iam:PutRolePolicy", "iam:DeleteRolePolicy", "iam:DeleteRole", "iam:PassRole" ], "Resource": [ "arn:aws:iam::ACCOUNT_NUMBER:role/sct/*" ] }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRolePolicies" ], "Resource": [ "arn:aws:iam::ACCOUNT_NUMBER:role/lambda_LoadParameterInitialStateRole", "arn:aws:iam::ACCOUNT_NUMBER:role/lambda_EvaluateJSPELExpressionsRole", "arn:aws:iam::ACCOUNT_NUMBER:role/stepFunctions_MigratedOozieWorkflowRole" ] }, { "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:CreateFunction", "lambda:UpdateFunctionCode", "lambda:DeleteFunction" ], "Resource": [ "arn:aws:lambda:*:ACCOUNT_NUMBER:function:LoadParameterInitialState", "arn:aws:lambda:*:ACCOUNT_NUMBER:function:EvaluateJSPELExpressions" ] } ] }

AWS Step Functions Als Ziel wird eine Verbindung hergestellt

Gehen Sie wie folgt vor, um eine Verbindung zu AWS Step Functions als Ziel herzustellen.

Um eine Verbindung herzustellen mit AWS Step Functions in AWS SCT CLI
  1. Öffnen Sie Ihr CLI Skript, das die Verbindungsinformationen für Ihre Apache Oozie-Quelldateien enthält.

  2. Fügen Sie die Informationen zu Ihrem Migrationsziel mit dem AddTarget Befehl in das AWS SCT Projekt ein. Stellen Sie sicher, dass Sie den STEP_FUNCTIONS Wert für den vendor Parameter verwenden. Geben Sie außerdem Werte für die folgenden erforderlichen Parameter an: name undprofile.

    Das folgende Codebeispiel fügt AWS Step Functions Ihrem AWS SCT Projekt eine Quelle hinzu. In diesem Beispiel wird ein Zielobjekt mit dem Namen erstelltAWS_STEP_FUNCTIONS. Verwenden Sie diesen Objektnamen, wenn Sie Zuordnungsregeln erstellen. In diesem Beispiel wird außerdem ein AWS SCT Dienstprofil verwendet, das Sie im Schritt „Voraussetzungen“ erstellt haben. Stellen Sie sicher, dass Sie Folgendes ersetzen profile_name mit dem Namen Ihres Profils.

    AddTarget -name: 'AWS_STEP_FUNCTIONS' -vendor: 'STEP_FUNCTIONS' -profile: 'profile_name' /

    Wenn Sie das AWS Dienstprofil nicht verwenden, stellen Sie sicher, dass Sie Werte für die folgenden erforderlichen Parameter angeben: accessKeysecretKey,awsRegion, unds3Path. Verwenden Sie diese Parameter, um Ihren AWS geheimen Zugriffsschlüssel, Ihren AWS geheimen Schlüssel und den Pfad zu Ihrem Amazon S3 S3-Bucket anzugeben. AWS-Region

  3. Stellen Sie AWS Step Functions mit dem ConnectTarget Befehl eine Connect. Verwenden Sie den Namen Ihres Zielobjekts, den Sie im vorherigen Schritt definiert haben.

    Das folgende Codebeispiel stellt mithilfe Ihres AWS Dienstprofils eine Verbindung zum AWS_STEP_FUNCTIONS Zielobjekt her. Stellen Sie sicher, dass Sie Folgendes ersetzen profile_name mit dem Namen Ihres Profils.

    ConnectTarget -name: 'AWS_STEP_FUNCTIONS' -profile: 'profile_name' /
  4. Speichere dein CLI Skript. Fügen Sie als Nächstes Zuordnungsregeln und Migrationsbefehle hinzu. Weitere Informationen finden Sie unter Konvertierung von Oozie-Workflows;.