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

Topik ini relevan jika Anda menjalankan Amazon EMR 7.3.0 atau rilis sebelumnya. Dimulai dengan rilis 7.4.0, HTTPS diaktifkan dengan Apache Livy secara default.

  1. Menyediakan kluster EMR Amazon dengan enkripsi transit diaktifkan. Untuk mempelajari enkripsi lebih lanjut, lihat Mengenkripsi data at rest dan transit.

  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 langkah EMR Amazon. Skrip ini memodifikasi /etc/livy/conf/livy.conf untuk mengaktifkan 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. 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: "]}