Activation du HTTPS avec Apache Livy - Amazon EMR

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Activation du HTTPS avec Apache Livy

Cette rubrique est pertinente si vous utilisez Amazon EMR 7.3.0 ou une version antérieure. À partir de la version 7.4.0, le HTTPS est activé par défaut avec Apache Livy.

  1. Provisionnez un cluster Amazon EMR avec le chiffrement du transit activé. Pour en savoir plus sur le chiffrement, consultez Chiffrer les données au repos et en transit.

  2. Créez un fichier nommé livy_ssl.sh avec le contenu suivant.

    #!/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
  3. Exécutez le script suivant en tant qu'étape Amazon EMR. Ce script modifie /etc/livy/conf/livy.conf pour activer le protocole 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"}]'
  4. Redémarrez le service Apache Livy afin que la modification prenne effet. Pour redémarrer Apache Livy, consultez la section Arrêt et redémarrage des processus.

  5. Vérifiez que les clients peuvent désormais communiquer via HTTPS. Pour soumettre une tâche, par exemple, exécutez le code suivant.

    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 vous avez activé HTTPS avec succès, Livy envoie une réponse indiquant que la commande a été acceptée et que le traitement par lots a été soumis.

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