Mengaktifkan HTTPS dengan Apache Livy - Amazon EMR

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengaktifkan HTTPS dengan Apache Livy

  1. Menyediakan EMR kluster Amazon dengan enkripsi transit diaktifkan. Untuk mempelajari lebih lanjut tentang enkripsi, lihat Mengenkripsi data saat istirahat dan dalam perjalanan.

  2. Buat file bernama livy_ssl.sh dengan konten berikut.

    #!/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. Jalankan skrip berikut sebagai EMR langkah Amazon. Skrip ini memodifikasi /etc/livy/conf/livy.conf untuk mengaktifkanSSL.

    --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. Mulai ulang layanan Apache Livy sehingga perubahan berlaku. Untuk memulai ulang Apache Livy, lihat Menghentikan dan memulai ulang proses.

  5. Uji bahwa klien sekarang dapat berkomunikasi menggunakanHTTPS. Untuk mengirimkan pekerjaan, misalnya, jalankan kode berikut.

    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

    Jika Anda HTTPS berhasil mengaktifkan, Livy mengirimkan respons yang menunjukkan bahwa perintah telah diterima dan bahwa pekerjaan batch telah dikirimkan.

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