

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à.

# Abilitazione di HTTPS con Apache Livy
<a name="enabling-https"></a>

Questo argomento è pertinente se utilizzi Amazon EMR 7.3.0 o una versione precedente. A partire dalla versione 7.4.0, HTTPS è abilitato con Apache Livy per impostazione predefinita.

1. Esegui il provisioning di un cluster Amazon EMR con crittografia di transito abilitata. Per ulteriori informazioni sulla crittografia, consulta [Crittografia dei dati a riposo e in transito](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption.html).

1. Crea un file denominato `livy_ssl.sh` con i seguenti contenuti.

   ```
   #!/bin/bash
   
   KEYSTORE_FILE=`awk '/ssl.server.keystore.location/{getline; print}' /etc/hadoop/conf/ssl-server.xml | sed -e 's/<[^>]*>//g' | tr -d ' \t\n\r\f'`
   KEYSTORE_PASS=`awk '/ssl.server.keystore.password/{getline; print}' /etc/hadoop/conf/ssl-server.xml | sed -e 's/<[^>]*>//g' | tr -d ' \t\n\r\f'`
   KEY_PASS=`awk '/ssl.server.keystore.keypassword/{getline; print}' /etc/hadoop/conf/ssl-server.xml | sed -e 's/<[^>]*>//g' | tr -d ' \t\n\r\f'`
   
   echo "livy.keystore $KEYSTORE_FILE
   livy.keystore.password $KEYSTORE_PASS
   livy.key-password $KEY_PASS" | sudo tee -a /etc/livy/conf/livy.conf >/dev/null
   
   sudo systemctl restart livy-server.service
   ```

1. Esegui lo script seguente come fase di Amazon EMR. Questo script modifica `/etc/livy/conf/livy.conf` per attivare SSL.

   ```
   --steps '[{"Args":["s3://amzn-s3-demo-bucket/livy_ssl.sh"],"Type":"CUSTOM_JAR","ActionOnFailure":"CONTINUE","Jar":"s3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar","Properties":"","Name":"Custom JAR"}]'
   ```

1. Riavvia il servizio Apache Livy in modo che le modifiche diventino effettive. Per riavviare Apache Livy, consulta [Arresto e riavvio di processi](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-process-restart-stop-view.html#emr-process-restart).

1. Verifica che i client possano comunicare utilizzando l'HTTPS. Per inviare un processo, ad esempio, esegui il codice seguente.

   ```
   curl -k -X POST --data '{"file": "local:///usr/lib/spark/examples/jars/spark-examples.jar", 
   "className": "org.apache.spark.examples.SparkPi"}' \
   -H "Content-Type: application/json" \
   https://EMR_Master_Node_Host:8998/batches
   ```

   Se HTTPS è stato abilitato correttamente, Livy invia un messaggio di risposta indicante che il comando è stato accettato e che il processo batch è stato inviato.

   ```
   {"id":1,"name":null,"owner":null,"proxyUser":null,"state":"starting","appId":null,"appInfo":
   {"driverLogUrl":null,"sparkUiUrl":null},"log":["stdout: ","\nstderr: ","\nYARN Diagnostics: "]}
   ```