

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

# Meluncurkan server sejarah Spark
<a name="monitor-spark-ui-history"></a>

Anda dapat menggunakan server riwayat Spark untuk memvisualisasikan log Spark pada infrastruktur Anda sendiri. Anda dapat melihat visualisasi yang sama di AWS Glue konsol untuk AWS Glue pekerjaan berjalan pada versi AWS Glue 4.0 atau yang lebih baru dengan log yang dihasilkan dalam format Standar (bukan warisan). Untuk informasi selengkapnya, lihat [Memantau pekerjaan menggunakan UI web Apache Spark](monitor-spark-ui.md).

Anda dapat meluncurkan server riwayat Spark menggunakan AWS CloudFormation templat yang menghosting server pada instans EC2, atau meluncurkan secara lokal menggunakan Docker.

**Topics**
+ [Meluncurkan server riwayat Spark dan melihat UI Spark menggunakan AWS CloudFormation](#monitor-spark-ui-history-cfn)
+ [Meluncurkan server riwayat Spark dan melihat UI Spark menggunakan Docker](#monitor-spark-ui-history-local)

## Meluncurkan server riwayat Spark dan melihat UI Spark menggunakan AWS CloudFormation
<a name="monitor-spark-ui-history-cfn"></a>

Anda dapat menggunakan AWS CloudFormation template untuk memulai server riwayat Apache Spark dan melihat UI web Spark. Templat ini adalah contoh yang harus Anda modifikasi untuk memenuhi kebutuhan Anda.

**Untuk memulai server riwayat Spark dan melihat UI Spark menggunakan CloudFormation**

1. Pilih salah satu tombol **Luncurkan Tumpukan** dalam tabel berikut. Ini meluncurkan tumpukan di CloudFormation konsol.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/glue/latest/dg/monitor-spark-ui-history.html)

1. Pada halaman **Tentukan templat**, pilih **Selanjutnya**.

1. Di halaman **Tentukan detail tumpukan**, masukkan **Nama tumpukan**. Masukkan informasi tambahan di bawah **Parameter**.

   1. 

**Konfigurasi Spark UI**

      Berikan informasi berikut ini:
      + **Rentang alamat IP** — Rentang alamat IP yang dapat digunakan untuk melihat Spark UI. Jika Anda ingin membatasi akses dari rentang alamat IP tertentu, maka Anda harus menggunakan nilai kustom. 
      + **Port server riwayat** — Port untuk Spark UI. Anda dapat menggunakan nilai default.
      + **Direktori log peristiwa** — Pilih lokasi di mana log peristiwa Spark disimpan dari tugas AWS Glue atau titik akhir pengembangan. Anda harus menggunakan **s3a://** untuk skema path log peristiwa.
      + **Lokasi paket Spark** — Anda dapat menggunakan nilai default.
      + Jalur **keystore — jalur** SSL/TLS keystore untuk HTTPS. Jika Anda ingin menggunakan file keystore kustom, Anda dapat menentukan path S3 di sini `s3://path_to_your_keystore_file`. Jika Anda membiarkan parameter ini kosong, maka keystore berbasis sertifikat self-signed akan dihasilkan dan digunakan.
      + Kata **sandi keystore** - Masukkan kata sandi keystore SSL/TLS untuk HTTPS.

   1. 

**Konfigurasi instans EC2**

      Berikan informasi berikut ini:
      + **Tipe instans** — Jenis instans Amazon EC2 yang menjadi host server riwayat Spark. Karena templat ini meluncurkan instans Amazon EC2 di akun Anda, Amazon EC2 akan dikenakan biaya di akun Anda secara terpisah.
      + **ID AMI terbaru** — ID AMI dari Amazon Linux 2 untuk instans server riwayat Spark. Anda dapat menggunakan nilai default.
      + **ID VPC** — ID virtual private cloud (VPC) untuk instans server riwayat Spark. Anda dapat menggunakan salah satu yang VPCs tersedia di akun Anda Menggunakan VPC default dengan [ACL Jaringan default](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html#default-network-acl) tidak disarankan. Untuk informasi selengkapnya, lihat [VPC Default dan Subnet Default](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) dan [Membuat VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC) di *Panduan Pengguna Amazon VPC*.
      + **ID Subnet** — ID untuk instans server riwayat Spark. Anda dapat menggunakan salah satu subnet di VPC Anda. Anda harus dapat mencapai jaringan dari klien Anda ke subnet tersebut. Jika Anda ingin mengakses melalui internet, maka Anda harus menggunakan subnet publik yang memiliki gateway internet di tabel rute.

   1. Pilih **Berikutnya**.

1. **Pada halaman **Configure stack options**, untuk menggunakan kredensyal pengguna saat ini untuk menentukan cara CloudFormation membuat, memodifikasi, atau menghapus sumber daya dalam tumpukan, pilih Berikutnya.** **Anda juga dapat menentukan peran di bagian **Izin** yang akan digunakan, bukan izin pengguna saat ini, lalu pilih Berikutnya.**

1. Pada halaman **Tinjau**, tinjau templat. 

   Pilih **Saya mengakui yang CloudFormation mungkin membuat sumber daya IAM**, dan kemudian pilih **Buat** tumpukan.

1. Tunggu tumpukan yang akan dibuat.

1. Buka tab **Output**.

   1. Salin URL **SparkUiPublicUrl**jika Anda menggunakan subnet publik.

   1. Salin URL **SparkUiPrivateUrl**jika Anda menggunakan subnet pribadi.

1. Buka peramban web, dan tempel di URL. Hal ini memungkinkan Anda mengakses server dengan menggunakan HTTPS pada port yang ditentukan. Peramban Anda mungkin tidak mengenali sertifikat server, di mana Anda harus mengganti perlindungannya dan terus melanjutkan. 

## Meluncurkan server riwayat Spark dan melihat UI Spark menggunakan Docker
<a name="monitor-spark-ui-history-local"></a>

Jika Anda lebih suka akses lokal (tidak memiliki instans EC2 untuk server riwayat Apache Spark), Anda juga dapat menggunakan Docker untuk memulai server riwayat Apache Spark dan melihat Spark UI secara lokal. Dockerfile ini adalah contoh yang Anda harus modifikasi untuk memenuhi kebutuhan Anda. 

 **Prasyarat** 

Untuk informasi tentang cara menginstal Docker di laptop Anda lihat [Komunitas Docker Engine](https://docs.docker.com/install/).

**Untuk memulai server riwayat Spark dan melihat Spark UI secara lokal menggunakan Docker**

1. Unduh file dari GitHub.

   Unduh Dockerfile dan `pom.xml` dari contoh [ AWS Gluekode](https://github.com/aws-samples/aws-glue-samples/tree/master/utilities/Spark_UI/).

1. Tentukan apakah Anda ingin menggunakan kredensyal pengguna atau kredensyal pengguna gabungan untuk mengakses. AWS
   + Untuk menggunakan kredensyal pengguna saat ini untuk mengakses AWS, dapatkan nilai yang akan digunakan untuk ` AWS_ACCESS_KEY_ID` dan `AWS_SECRET_ACCESS_KEY` dalam perintah. `docker run` Untuk informasi lebih lanjut, lihat [Mengelola access key untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) dalam *Panduan Pengguna IAM*.
   + Untuk menggunakan pengguna federasi SAMP 2.0 untuk mengakses AWS, dapatkan nilai untuk,` AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` dan. ` AWS_SESSION_TOKEN` Untuk informasi selengkapnya, lihat [Meminta kredensyal keamanan sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)

1. Tentukan lokasi direktori log peristiwa Anda, untuk digunakan dalam `docker run` perintah.

1. Buat gambar Docker menggunakan file di direktori lokal, menggunakan nama` glue/sparkui`, dan tag`latest`.

   ```
   $ docker build -t glue/sparkui:latest . 
   ```

1. Buat dan mulai wadah docker.

   Dalam perintah berikut, gunakan nilai yang diperoleh sebelumnya pada langkah 2 dan 3.

   1. Untuk membuat wadah docker menggunakan kredensyal pengguna Anda, gunakan perintah yang mirip dengan yang berikut

      ```
      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://{{path_to_eventlog}}
       -Dspark.hadoop.fs.s3a.access.key={{AWS_ACCESS_KEY_ID}} -Dspark.hadoop.fs.s3a.secret.key={{AWS_SECRET_ACCESS_KEY}}"
       -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
      ```

   1. Untuk membuat wadah docker menggunakan kredensyal sementara, gunakan ` org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider` sebagai penyedia, dan berikan nilai kredensi yang diperoleh pada langkah 2. Untuk informasi selengkapnya, lihat [Menggunakan Kredensyal Sesi dengan AWSCredentials Penyedia Sementara di dokumentasi](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Using_Session_Credentials_with_TemporaryAWSCredentialsProvider) *Hadoop: Integrasi dengan Amazon Web Services*.

      ```
      docker run -itd -e SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.history.fs.logDirectory=s3a://{{path_to_eventlog}}
       -Dspark.hadoop.fs.s3a.access.key={{AWS_ACCESS_KEY_ID}} -Dspark.hadoop.fs.s3a.secret.key={{AWS_SECRET_ACCESS_KEY}}
       -Dspark.hadoop.fs.s3a.session.token={{AWS_SESSION_TOKEN}}
       -Dspark.hadoop.fs.s3a.aws.credentials.provider=org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider"
       -p 18080:18080 glue/sparkui:latest "/opt/spark/bin/spark-class org.apache.spark.deploy.history.HistoryServer"
      ```
**catatan**  
Parameter konfigurasi ini berasal dari [ Hadoop-AWSModul](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html). Anda mungkin perlu menambahkan konfigurasi spesifik berdasarkan kasus penggunaan Anda. Misalnya: pengguna di wilayah terisolasi perlu mengkonfigurasi file` spark.hadoop.fs.s3a.endpoint`.

1. Buka `http://localhost:18080` di browser Anda untuk melihat UI Spark secara lokal.