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
-
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. -
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" }' /
-
Erstellen Sie ein neues AWS SCT Projekt.
Im folgenden Codebeispiel wird das
oozie
Projekt imc:\sct
Ordner erstellt.CreateProject -name: 'oozie' -directory: 'c:\sct' /
-
Fügen Sie den Ordner mit Ihren Apache Oozie-Quelldateien mithilfe des
AddSource
Befehls zum Projekt hinzu. Stellen Sie sicher, dass Sie denAPACHE_OOZIE
Wert für denvendor
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 denc:\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.
-
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' /
-
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
-
Öffnen Sie Ihr CLI Skript, das die Verbindungsinformationen für Ihre Apache Oozie-Quelldateien enthält.
-
Fügen Sie die Informationen zu Ihrem Migrationsziel mit dem
AddTarget
Befehl in das AWS SCT Projekt ein. Stellen Sie sicher, dass Sie denSTEP_FUNCTIONS
Wert für denvendor
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 erstellt
AWS_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 ersetzenprofile_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:
accessKey
secretKey
,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 -
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 ersetzenprofile_name
mit dem Namen Ihres Profils.ConnectTarget -name: 'AWS_STEP_FUNCTIONS' -profile: '
profile_name
' / -
Speichere dein CLI Skript. Fügen Sie als Nächstes Zuordnungsregeln und Migrationsbefehle hinzu. Weitere Informationen finden Sie unter Konvertierung von Oozie-Workflows;.