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 kluster EMR Amazon dengan enkripsi transit diaktifkan. Untuk mempelajari lebih lanjut tentang enkripsi, lihat Mengenkripsi data saat istirahat dan dalam perjalanan.

  2. Buat file bernama livy_ssh.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 langkah EMR Amazon. Skrip ini memodifikasi /etc/livy/conf/livy.conf untuk mengaktifkan SSL.

    --steps '[{"Args":["s3://DOC-EXAMPLE-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 menggunakan HTTPS. 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 berhasil mengaktifkan HTTPS, Livy mengirimkan respons yang menunjukkan bahwa perintah telah diterima dan 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: "]}