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 con Apache Livy HTTPS
-
Aprovisione un EMR clúster de Amazon 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.
-
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
-
Ejecute el siguiente script como un EMR paso de Amazon. Este script se modifica
/etc/livy/conf/livy.conf
para SSL activarse.--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"}]' -
Vuelva a iniciar el servicio Apache Livy para que los cambios se apliquen. Para reiniciar Apache Livy, consulte Detener y reiniciar procesos.
-
Pruebe que los clientes ahora pueden comunicarse utilizandoHTTPS. 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/batchesSi lo has activado HTTPS correctamente, Livy envía una respuesta en la que 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: "]}