

AWS Data Pipeline non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Data Pipeline possono continuare a utilizzare il servizio normalmente. [Ulteriori informazioni](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Lavorare con Task Runner
<a name="dp-using-task-runner"></a>

 Task Runner è un'applicazione task agent che analizza AWS Data Pipeline le attività pianificate e le esegue su istanze Amazon EC2, cluster Amazon EMR o altre risorse di calcolo, segnalando lo stato in corso. A seconda dell'applicazione, è possibile scegliere di: 
+ Consenti di installare e gestire AWS Data Pipeline una o più applicazioni Task Runner per te. Quando viene attivata una pipeline, viene creato automaticamente il valore predefinito `Ec2Instance` o `EmrCluster` l'oggetto a cui fa riferimento un campo RunSon di attività. AWS Data Pipeline si occupa dell'installazione di Task Runner su un'istanza EC2 o sul nodo master di un cluster EMR. In questo modello, AWS Data Pipeline può occuparsi della maggior parte della gestione dell'istanza o del cluster per te. 
+ Eseguire tutta o parte di una pipeline su risorse gestite dall'utente. Le risorse potenziali includono un'istanza Amazon EC2 a lunga durata, un cluster Amazon EMR o un server fisico. È possibile installare un task runner (che può essere Task Runner o un task agent personalizzato del proprio dispositivo) quasi ovunque, a condizione che sia in grado di comunicare con il servizio Web. AWS Data Pipeline In questo modello, si assume il controllo quasi completo su quali risorse vengono utilizzate e su come vengono gestite, ed è necessario installare e configurare manualmente Task Runner. Per eseguire questa operazione, utilizzare le procedure di questa sezione, come descritto in [Esecuzione del lavoro su risorse esistenti utilizzando Task Runner](dp-how-task-runner-user-managed.md). 

# Task Runner su AWS Data Pipeline-Managed Resources
<a name="dp-how-task-runner-dp-managed"></a>

 Quando una risorsa viene avviata e gestita da AWS Data Pipeline, il servizio Web installa automaticamente Task Runner su tale risorsa per elaborare le attività nella pipeline. È necessario specificare una risorsa di calcolo (un'istanza Amazon EC2 o un cluster Amazon EMR) per `runsOn` il campo di un oggetto di attività. Quando AWS Data Pipeline avvia questa risorsa, installa Task Runner su quella risorsa e la configura per elaborare tutti gli oggetti di attività il cui campo è impostato su quella risorsa. `runsOn` Quando AWS Data Pipeline termina la risorsa, i log di Task Runner vengono pubblicati in una posizione Amazon S3 prima della chiusura.

![\[Ciclo di vita di Task Runner su una risorsa gestita AWS Data Pipeline\]](http://docs.aws.amazon.com/it_it/datapipeline/latest/DeveloperGuide/images/dp-task-runner-managed-emr-jobflow.png)


 Ad esempio, se si utilizza la `EmrActivity` in una pipeline e si specifica una risorsa `EmrCluster` nel campo `runsOn`. Quando AWS Data Pipeline elabora tale attività, avvia un cluster Amazon EMR e installa Task Runner sul nodo master. Questo Task Runner elabora quindi le attività per le attività il cui `runsOn` campo è impostato su quell'oggetto. `EmrCluster` Il seguente estratto da una definizione di pipeline mostra questa relazione tra due oggetti. 

```
{
  "id" : "MyEmrActivity",
  "name" : "Work to perform on my data",
  "type" : "EmrActivity",
  "runsOn" : {"ref" : "MyEmrCluster"},
  "preStepCommand" : "scp remoteFiles localFiles",
  "step" : "s3://amzn-s3-demo-bucket/myPath/myStep.jar,firstArg,secondArg",
  "step" : "s3://amzn-s3-demo-bucket/myPath/myOtherStep.jar,anotherArg",
  "postStepCommand" : "scp localFiles remoteFiles",
  "input" : {"ref" : "MyS3Input"},
  "output" : {"ref" : "MyS3Output"}
},
{
  "id" : "MyEmrCluster",
  "name" : "EMR cluster to perform the work",
  "type" : "EmrCluster",
  "hadoopVersion" : "0.20",
  "keypair" : "myKeyPair",
  "masterInstanceType" : "m1.xlarge",
  "coreInstanceType" : "m1.small",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m1.small",
  "taskInstanceCount": "10",
  "bootstrapAction" : "s3://elasticmapreduce/libs/ba/configure-hadoop,arg1,arg2,arg3",
  "bootstrapAction" : "s3://elasticmapreduce/libs/ba/configure-other-stuff,arg1,arg2"
}
```

Per informazioni ed esempi di esecuzione di questa attività, vedi [EmrActivity](dp-object-emractivity.md).

 Se in una pipeline sono presenti più risorse AWS Data Pipeline gestite, Task Runner viene installato su ognuna di esse e tutte controllano le attività da elaborare AWS Data Pipeline . 

# Esecuzione del lavoro su risorse esistenti utilizzando Task Runner
<a name="dp-how-task-runner-user-managed"></a>

Puoi installare Task Runner su risorse di calcolo che gestisci, come un'istanza Amazon EC2 o un server o una workstation fisica. Task Runner può essere installato ovunque, su qualsiasi hardware o sistema operativo compatibile, a condizione che possa comunicare con il servizio web. AWS Data Pipeline 

Questo approccio può essere utile quando, ad esempio, si desidera utilizzare per AWS Data Pipeline elaborare i dati archiviati all'interno del firewall dell'organizzazione. Installando Task Runner su un server della rete locale, è possibile accedere al database locale in modo sicuro e quindi eseguire il polling AWS Data Pipeline per l'operazione successiva da eseguire. Quando AWS Data Pipeline termina l'elaborazione o elimina la pipeline, l'istanza di Task Runner rimane in esecuzione sulla risorsa di calcolo fino a quando non viene chiusa manualmente. I log di Task Runner persistono dopo il completamento dell'esecuzione della pipeline. 

Per utilizzare Task Runner su una risorsa gestita dall'utente, è necessario innanzitutto scaricare Task Runner e quindi installarlo sulla risorsa di calcolo utilizzando le procedure descritte in questa sezione. 

**Nota**  
 Puoi installare Task Runner solo su Linux, UNIX o macOS. Task Runner non è supportato nel sistema operativo Windows.   
Per utilizzare Task Runner 2.0, la versione minima di Java richiesta è 1.7.

Per connettere un Task Runner che avete installato alle attività della pipeline che deve elaborare, aggiungete un `workerGroup` campo all'oggetto e configurate Task Runner per verificare il valore del gruppo di lavoro. Puoi farlo passando la stringa del gruppo di lavoro come parametro (ad esempio,`--workerGroup=wg-12345`) quando esegui il file JAR di Task Runner. 

![\[AWS Data Pipeline diagram showing monthly task flow for archiving processed invoices using Task Runner.\]](http://docs.aws.amazon.com/it_it/datapipeline/latest/DeveloperGuide/images/dp-task-runner-user-emr-jobflow.png)


```
{
  "id" : "CreateDirectory",
  "type" : "ShellCommandActivity",
  "workerGroup" : "wg-12345",
  "command" : "mkdir new-directory"
}
```

## Installazione di Task Runner
<a name="dp-installing-taskrunner"></a>

Questa sezione spiega come installare e configurare Task Runner e i relativi prerequisiti. L'installazione è un semplice processo manuale.

**Per installare Task Runner**

1. Task Runner richiede le versioni Java 1.6 o 1.8. Per determinare se Java è installato e la versione in esecuzione, utilizzare il comando seguente:

   ```
   java -version
   ```

    Se sul computer non è installato Java 1.6 o 1.8, scaricate una di queste versioni da [http://www.oracle. com/technetwork/java/index.html](http://www.oracle.com/technetwork/java/index.html). Scaricare e installare Java, quindi procedere con il passaggio successivo.

1. Scarica `TaskRunner-1.0.jar` da [https://s3.amazonaws.com/datapipeline-us-east-1/us-east-1/ software/latest/TaskRunner/TaskRunner -1.0.jar](https://s3.amazonaws.com/datapipeline-us-east-1/us-east-1/software/latest/TaskRunner/TaskRunner-1.0.jar) e poi copialo in una cartella sulla risorsa di calcolo di destinazione. Per i cluster Amazon EMR che eseguono `EmrActivity` attività, installa Task Runner sul nodo master del cluster.

1. Quando utilizzano Task Runner per connettersi al servizio AWS Data Pipeline Web per elaborare i comandi, gli utenti devono accedere programmaticamente a un ruolo che dispone delle autorizzazioni per creare o gestire pipeline di dati. Per ulteriori informazioni, consulta [Concessione dell'accesso programmatico](dp-get-setup.md#dp-grant-programmatic-access).

1. Task Runner si connette al servizio Web tramite HTTPS AWS Data Pipeline . Se utilizzi una AWS risorsa, assicurati che HTTPS sia abilitato nella tabella di routing e nell'ACL di sottorete appropriati. Se si sta usando un firewall o un proxy, assicurarsi che la porta 443 sia aperta.

# (Facoltativo) Concessione dell'accesso a Task Runner ad Amazon RDS
<a name="dp-taskrunner-rdssecurity"></a>

Amazon RDS ti consente di controllare l'accesso alle tue istanze DB utilizzando gruppi di sicurezza del database (gruppi di sicurezza DB). Un gruppo di sicurezza DB si comporta come un firewall, controllando l'accesso di rete all'istanza database. Per impostazione predefinita, l'accesso alla rete è disattivato per le istanze database. È necessario modificare i gruppi di sicurezza del database per consentire a Task Runner di accedere alle istanze Amazon RDS. Task Runner ottiene l'accesso ad Amazon RDS dall'istanza su cui viene eseguita, quindi gli account e i gruppi di sicurezza che aggiungi all'istanza Amazon RDS dipendono da dove installi Task Runner. 

**Per concedere l'accesso a Task Runner in EC2-Classic**

1. Apri la console Amazon RDS.

1. Nel riquadro di navigazione scegliere **Instances (Istanze)** e quindi selezionare l'istanza database.

1. In **Security and Network (Sicurezza e Network)**, selezionare il gruppo di sicurezza che apre la pagina relativa ai **Security Groups (Gruppi di sicurezza)** con questo gruppo di sicurezza di database selezionato. Selezionare l'icona dei dettagli per il gruppo di sicurezza DB.

1. In **Security Group Details (Dettagli gruppo di sicurezza)**, creare una regola con il **Connection Type (Tipo di connessione)** e i **Details (Dettagli)** appropriati. Questi campi dipendono dalla posizione in cui è in esecuzione Task Runner, come descritto di seguito:
   + `Ec2Resource`
     + **Connection Type (Tipo di connessione)**: `EC2 Security Group`

       **Dettagli**: *my-security-group-name* (il nome del gruppo di sicurezza che hai creato per l'istanza EC2)
   + `EmrResource`
     + **Connection Type (Tipo di connessione)**: `EC2 Security Group`

       **Details (Dettagli)**: `ElasticMapReduce-master`
     + **Connection Type (Tipo di connessione)**: `EC2 Security Group`

       **Details (Dettagli)**: `ElasticMapReduce-slave`
   + Ambiente locale (in locale)
     + **Connection Type (Tipo di connessione)**: `CIDR/IP`:

       **Dettagli**: *my-ip-address* (l'indirizzo IP del computer o l'intervallo di indirizzi IP della rete, se il computer è protetto da un firewall)

1. Fare clic su Add (Aggiungi).

**Per concedere l'accesso a Task Runner in EC2-VPC**

1. Apri la console Amazon RDS.

1. Nel riquadro di navigazione, scegliere **Instances (Istanze)**.

1. Selezionare l'icona dei dettagli per l'istanza database. In **Sicurezza e rete**, apri il link al gruppo di sicurezza, che ti porta alla console Amazon EC2. Se si utilizza il vecchio progetto della console per i gruppi di sicurezza, passare al nuovo progetto della console selezionando l'icona visualizzata nella parte superiore della pagina della console.

1. Nella scheda **Inbound (In entrata)**, scegli **Edit (Modifica)**, **Add Rule (Aggiungi regola)**. Specificare la porta del database utilizzata quando è stata avviata l'istanza database. L'origine dipende da dove è in esecuzione Task Runner, come descritto qui:
   + `Ec2Resource`
     + *my-security-group-id*(l'ID del gruppo di sicurezza che hai creato per l'istanza EC2)
   + `EmrResource`
     + *master-security-group-id*(l'ID del gruppo di `ElasticMapReduce-master` sicurezza)
     + *slave-security-group-id*(l'ID del gruppo `ElasticMapReduce-slave` di sicurezza)
   + Ambiente locale (in locale)
     + *ip-address*(l'indirizzo IP del computer o l'intervallo di indirizzi IP della rete, se il computer è protetto da un firewall)

1. Fai clic su **Salva**.

## Avvio di Task Runner
<a name="dp-activate-task-runner"></a>

In una nuova finestra del prompt dei comandi impostata sulla directory in cui è installato Task Runner, avvia Task Runner con il comando seguente.

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

L'opzione `--config` punta al file delle credenziali.

L'opzione `--workerGroup` specifica il nome del gruppo di lavoratori, che deve essere lo stesso valore specificato nella pipeline per le attività da elaborare.

L'opzione `--region` specifica la regione del servizio da cui prendere le operazioni da eseguire.

L'`--logUri`opzione viene utilizzata per inviare i log compressi in una posizione in Amazon S3.

Quando Task Runner è attivo, stampa il percorso in cui vengono scritti i file di registro nella finestra del terminale. Di seguito è riportato un esempio di :

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

Task Runner deve essere eseguito non collegato alla shell di login. Se si sta usando un'applicazione terminale per connettersi al computer, potrebbe essere necessario utilizzare una utility come nohup o schermo per evitare di uscire dall'applicazione Task Runner al momento della disconnessione. Per ulteriori informazioni sulle opzioni delle righe di comando, consulta [Opzioni di configurazione di Task Runner](dp-taskrunner-config-options.md).

## Verifica della registrazione di Task Runner
<a name="dp-verify-task-runner"></a>

Il modo più semplice per verificare che Task Runner funzioni è verificare se sta scrivendo file di registro. Task Runner scrive i file di registro ogni ora nella directory`output/logs`, nella directory in cui è installato Task Runner. Il nome del file è `Task Runner.log.YYYY-MM-DD-HH`, dove HH viene eseguito da mezzanotte alle 23:00, in UDT. Per risparmiare spazio di archiviazione, tutti i file di registro più vecchi di otto ore vengono compressi con. GZip

# Thread e precondizioni di Task Runner
<a name="dp-taskrunner-threading"></a>

 Task Runner utilizza un pool di thread per ciascuna attività, attività e condizione preliminare. L'impostazione predefinita per `--tasks` è 2, il che significa che ci sono due thread assegnati dal pool di attività e ogni thread interroga il servizio per individuare nuove attività. AWS Data Pipeline Pertanto, `--tasks` è un attributo di ottimizzazione delle prestazioni che può essere utilizzato per ottimizzare il throughput della pipeline.

 La logica di ripetizione dei tentativi della pipeline per le precondizioni si verifica in Task Runner. Due thread di precondizione vengono assegnati al sondaggio per gli oggetti di precondizione. AWS Data Pipeline **Task Runner rispetta i campi **retryDelay** e preconditionTimeout dell'oggetto di precondizione definiti in base alle precondizioni.** 

In molti casi, diminuendo il timeout del polling della precondizione e il numero di nuovi tentativi è possibile migliorare le prestazioni dell'applicazione. Analogamente, le applicazioni con precondizioni di lunga durata potrebbero avere bisogno di un aumento dei valori relativi a timeout e nuovi tentativi. Per ulteriori informazioni sugli oggetti delle precondizioni, consulta [Precondizioni](dp-concepts-preconditions.md).

# Opzioni di configurazione di Task Runner
<a name="dp-taskrunner-config-options"></a>

Queste sono le opzioni di configurazione disponibili dalla riga di comando all'avvio di Task Runner. 


****  

| Parametri della riga di comando | Description | 
| --- | --- | 
| `--help` | Informazioni di aiuto della riga di comando. Ad esempio: `Java -jar TaskRunner-1.0.jar --help` | 
| `--config` | Percorso e nome del file `credentials.json`. | 
| `--accessId` | L'ID della chiave di AWS accesso che Task Runner può utilizzare per effettuare richieste. Le `--secretKey` opzioni `--accessID` and forniscono un'alternativa all'utilizzo di un file credentials.json. Se viene fornito anche un file `credentials.json`, le opzioni `--accessID` e `--secretKey` hanno la precedenza.  | 
| `--secretKey` | La chiave AWS segreta che Task Runner può utilizzare per effettuare richieste. Per ulteriori informazioni, consulta `--accessID`.  | 
| `--endpoint` | Un endpoint è un URL che rappresenta il punto di partenza per un servizio Web. L'endpoint del AWS Data Pipeline servizio nella regione in cui si effettuano le richieste. Opzionale. In generale, è sufficiente specificare una regione e non è necessario impostare l'endpoint. Per un elenco di AWS Data Pipeline regioni ed endpoint, consulta [AWS Data Pipeline Regions and](https://docs.aws.amazon.com/general/latest/gr/rande.html#datapipeline_region) Endpoints nel. *Riferimenti generali di AWS* | 
| `--workerGroup` | Il nome del gruppo di lavoro per il quale Task Runner recupera il lavoro. Obbligatorio.Quando Task Runner esegue il polling del servizio Web, utilizza le credenziali fornite e il valore di `workerGroup` per selezionare quali (se presenti) attività recuperare. È possibile utilizzare qualsiasi nome significativo per l'utente; l'unico requisito è che la stringa corrisponda tra Task Runner e le attività della pipeline corrispondenti. Il nome del gruppo di lavoratori è associato a una regione. Anche se esistono nomi di gruppi di lavoro identici in altre regioni, Task Runner ottiene sempre le attività dalla regione specificata in. `--region` | 
| `--taskrunnerId` | L'ID del runner dell'attività da utilizzare per segnalare l'avanzamento. Opzionale. | 
| `--output` | La directory Task Runner per i file di output dei log. Opzionale. I file di log vengono archiviati in una directory locale fino a quando non vengono inviati ad Amazon S3. Questa opzione sostituisce la directory di default.  | 
| `--region` | La regione da utilizzare. L'impostazione della regione è facoltativa, ma è sempre consigliata. Se non si specifica la regione, Task Runner recupera le attività dalla regione di servizio predefinita,. `us-east-1`Altre regioni supportate sono: `eu-west-1`, `ap-northeast-1`, `ap-southeast-2`, `us-west-2`.  | 
| `--logUri` | Il percorso di destinazione di Amazon S3 per Task Runner su cui eseguire il backup dei file di registro ogni ora. Quando Task Runner termina, i log attivi nella directory locale vengono inviati alla cartella di destinazione di Amazon S3.  | 
| --proxyHost | L'host del proxy utilizzato dai client Task Runner per connettersi ai servizi AWS. | 
| --proxyPort | Porta dell'host proxy utilizzata dai client Task Runner per connettersi ai servizi AWS. | 
| --proxyUsername | Il nome utente per il proxy. | 
| --proxyPassword | La password per il proxy. | 
| --proxyDomain | Il nome del dominio di Windows per il proxy NTLM. | 
| --proxyWorkstation | Il nome della workstation di Windows per il proxy NTLM. | 

# Utilizzo di Task Runner con un proxy
<a name="dp-taskrunner-proxy"></a>

Se si sta usando un host proxy, è possibile specificarne la [configurazione](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-taskrunner-config-options.html) quando si richiama Task Runner o si imposta la variabile di ambiente, HTTPS\$1PROXY. La variabile di ambiente usata con Task Runner accetta la stessa configurazione utilizzata per l'[interfaccia a riga di comando di AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-http-proxy.html). 

# Task Runner e Custom AMIs
<a name="dp-custom-ami"></a>

Quando specifichi un `Ec2Resource` oggetto per la tua pipeline, AWS Data Pipeline crea un'istanza EC2 per te, utilizzando un'AMI che installa e configura Task Runner per te. Un tipo di istanza compatibile con PV è obbligatorio in questo caso. In alternativa, puoi creare un'AMI personalizzata con Task Runner e quindi specificare l'ID di questa AMI utilizzando il `imageId` campo dell'`Ec2Resource`oggetto. Per ulteriori informazioni, consulta [Ec2Resource](dp-object-ec2resource.md).

Un'AMI personalizzata deve soddisfare i seguenti requisiti per poterla AWS Data Pipeline utilizzare correttamente per Task Runner:
+ Creazione dell'AMI nella stessa regione in cui saranno eseguite le istanze. Per ulteriori informazioni, consulta [Creating Your Own AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html) nella Guida per l'*utente di Amazon EC2*.
+ Assicurarsi che il tipo di virtualizzazione dell'AMI sia supportato dal tipo di istanza che si intende utilizzare. Ad esempio, i tipi di istanze I2 e G2 richiedono un'AMI HVM e T1, C1, M1 e i tipi di istanza M2 richiedono un'AMI PV. Per ulteriori informazioni, consulta la sezione [Tipi di virtualizzazione delle AMI Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) nella Guida per l'utente di *Amazon EC2*.
+ Installare il seguente software:
  + Linux
  + Bash
  + wget
  + unzip
  + Java 1.6 o 1.8
  + cloud-init
+ Crea e configura un utente denominato. `ec2-user`