

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Habilitación de HTTPS con Apache Livy
<a name="enabling-https"></a>

Este tema es relevante si está ejecutando Amazon EMR 7.3.0 o una versión anterior. A partir de la versión 7.4.0, HTTPS está habilitado con Apache Livy de forma predeterminada.

1. Aprovisione un clúster de Amazon EMR con el cifrado de tránsito activado. Para obtener más información sobre el cifrado, consulte [Cifrado de datos en reposo y en tránsito](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption.html).

1. Cree un archivo denominado `livy_ssl.sh` con el siguiente contenido.

   ```
   #!/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. Ejecute el siguiente script como un paso de Amazon EMR. Este script modifica `/etc/livy/conf/livy.conf` para activar 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. Vuelva a iniciar el servicio Apache Livy para que los cambios se apliquen. Para reiniciar Apache Livy, consulte [Detener y reiniciar procesos](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-process-restart-stop-view.html#emr-process-restart).

1. Compruebe que los clientes ya puedan comunicarse mediante HTTPS. Para enviar un trabajo, por ejemplo, ejecute el siguiente código.

   ```
   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
   ```

   Si ha activado HTTPS correctamente, Livy envía una respuesta en la que se indica que el comando se ha aceptado y que se ha enviado el trabajo por lotes.

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