View a markdown version of this page

Tutorial: Memulai dengan Amazon EMR - Amazon EMR

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

Tutorial: Memulai dengan Amazon EMR

Jelajahi alur kerja untuk menyiapkan cluster Amazon EMR dengan cepat dan menjalankan aplikasi Spark.

Menyiapkan cluster Amazon EMR Anda

Dengan Amazon EMR Anda dapat mengatur cluster untuk memproses dan menganalisis data dengan kerangka kerja data besar hanya dalam beberapa menit. Tutorial ini menunjukkan cara meluncurkan cluster sampel menggunakan Spark, dan cara menjalankan PySpark skrip sederhana yang disimpan dalam bucket Amazon S3. Tutorial ini membahas tugas-tugas penting Amazon EMR dalam tiga kategori alur kerja utama: Rencanakan dan Konfigurasi, Kelola, dan Bersihkan.

Anda akan menemukan tautan ke topik yang lebih rinci saat Anda mengerjakan tutorial, dan ide untuk langkah-langkah tambahan di Langkah selanjutnya bagian ini. Jika Anda memiliki pertanyaan atau bingung, hubungi tim Amazon EMR di Forum diskusi kami.

Diagram alur kerja untuk Amazon EMR yang menguraikan tiga kategori alur kerja utama dari Rencanakan dan Konfigurasi, Kelola, dan Bersihkan.
Prasyarat
Biaya
  • Klaster sampel yang Anda buat berjalan di lingkungan langsung. Cluster menimbulkan biaya minimal. Untuk menghindari biaya tambahan, pastikan Anda menyelesaikan tugas pembersihan di langkah terakhir tutorial ini. Biaya bertambah pada tingkat per detik sesuai dengan harga Amazon EMR. Biaya juga bervariasi menurut Wilayah. Untuk informasi lebih lanjut, lihat Harga Amazon EMR.

  • Biaya minimal mungkin timbul untuk file kecil yang Anda simpan di Amazon S3. Sebagian atau semua biaya untuk Amazon S3 mungkin dibebaskan jika Anda berada dalam batas penggunaan Tingkat AWS Gratis. Untuk informasi selengkapnya, lihat Harga Amazon S3 dan Tingkat Gratis AWS.

Langkah 1: Konfigurasikan sumber daya data dan luncurkan cluster Amazon EMR

Siapkan penyimpanan untuk Amazon EMR

Saat Anda menggunakan Amazon EMR, Anda dapat memilih dari berbagai sistem file untuk menyimpan data input, data output, dan file log. Dalam tutorial ini, Anda menggunakan EMRFS untuk menyimpan data dalam bucket S3. EMRFS adalah implementasi dari sistem file Hadoop yang memungkinkan Anda membaca dan menulis file biasa ke Amazon S3. Untuk informasi selengkapnya, lihat Bekerja dengan penyimpanan dan sistem file dengan Amazon EMR.

Untuk membuat bucket untuk tutorial ini, ikuti petunjuk di Bagaimana cara membuat bucket S3? dalam Panduan Pengguna Konsol Layanan Penyimpanan Sederhana Amazon. Buat bucket di Wilayah yang sama AWS tempat Anda berencana meluncurkan cluster Amazon EMR Anda. Misalnya, US West (Oregon) us-west-2.

Bucket dan folder yang Anda gunakan dengan Amazon EMR memiliki keterbatasan berikut:

  • Nama dapat terdiri dari huruf kecil, angka, titik (.), dan tanda hubung (-).

  • Nama tidak dapat diakhiri dengan angka.

  • Nama bucket harus unik di seluruh akun AWS .

  • Folder output harus kosong.

Siapkan aplikasi dengan data input untuk Amazon EMR

Cara paling umum untuk menyiapkan aplikasi untuk Amazon EMR adalah dengan mengunggah aplikasi dan data inputnya ke Amazon S3. Kemudian, ketika Anda mengirimkan pekerjaan ke cluster Anda, Anda menentukan lokasi Amazon S3 untuk skrip dan data Anda.

Pada langkah ini, Anda mengunggah contoh PySpark skrip ke bucket Amazon S3 Anda. Kami telah menyediakan PySpark skrip untuk Anda gunakan. Skrip memproses data inspeksi perusahaan makanan dan mengembalikan file hasil di bucket S3 Anda. File hasil mencantumkan sepuluh perusahaan teratas dengan pelanggaran tipe “Merah” paling banyak.

Anda juga mengunggah data input sampel ke Amazon S3 untuk diproses PySpark skrip. Data input adalah versi modifikasi dari hasil inspeksi Departemen Kesehatan di King County, Washington, dari 2006 hingga 2020. Untuk informasi selengkapnya, lihat King County Open Data: Food Establishment Inspection Data. Jangan mengunduh data restoran untuk tutorial ini langsung dari situs web King County, karena ini adalah file yang sangat besar. Kami menyediakan unduhan di bawah ini yang memiliki file dengan catatan lebih sedikit, untuk membantu menyelesaikan tutorial. Berikut ini adalah baris sampel dari set data.

name,inspection_result,inspection_closed_business,violation_type,violation_points 100 LB CLAM,Unsatisfactory,FALSE,BLUE,5 100 PERCENT NUTRICION,Unsatisfactory,FALSE,BLUE,5 7-ELEVEN #2361-39423A,Complete,FALSE,,0
Untuk mempersiapkan contoh PySpark skrip untuk EMR
  1. Salin contoh kode di bawah ini ke file baru di editor pilihan Anda.

    import argparse from pyspark.sql import SparkSession def calculate_red_violations(data_source, output_uri): """ Processes sample food establishment inspection data and queries the data to find the top 10 establishments with the most Red violations from 2006 to 2020. :param data_source: The URI of your food establishment data CSV, such as 's3://amzn-s3-demo-bucket/food-establishment-data.csv'. :param output_uri: The URI where output is written, such as 's3://amzn-s3-demo-bucket/restaurant_violation_results'. """ with SparkSession.builder.appName("Calculate Red Health Violations").getOrCreate() as spark: # Load the restaurant violation CSV data if data_source is not None: restaurants_df = spark.read.option("header", "true").csv(data_source) # Create an in-memory DataFrame to query restaurants_df.createOrReplaceTempView("restaurant_violations") # Create a DataFrame of the top 10 restaurants with the most Red violations top_red_violation_restaurants = spark.sql("""SELECT name, count(*) AS total_red_violations FROM restaurant_violations WHERE violation_type = 'RED' GROUP BY name ORDER BY total_red_violations DESC LIMIT 10""") # Write the results to the specified output URI top_red_violation_restaurants.write.option("header", "true").mode("overwrite").csv(output_uri) if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( '--data_source', help="The URI for you CSV restaurant data, like an S3 bucket location.") parser.add_argument( '--output_uri', help="The URI where output is saved, like an S3 bucket location.") args = parser.parse_args() calculate_red_violations(args.data_source, args.output_uri)
  2. Simpan file sebagai health_violations.py.

  3. Ung health_violations.py gah ke Amazon S3 ke dalam bucket yang Anda buat untuk tutorial ini. Untuk petunjuk, lihat Mengunggah objek ke bucket di Panduan Mem ulai Layanan Penyimpanan Sederhana Amazon.

Untuk menyiapkan data input sampel untuk EMR
  1. Unduh file zip, food_establishment_data.zip.

  2. Buka zip dan simpan food_establishment_data.zip seperti food_establishment_data.csv di mesin Anda.

  3. Unggah file CSV ke bucket S3 yang telah Anda buat untuk tutorial ini. Untuk petunjuk, lihat Mengunggah objek ke bucket di Panduan Mem ulai Layanan Penyimpanan Sederhana Amazon.

Untuk informasi lebih lanjut tentang penyiapan data untuk EMR, lihat Siapkan data input untuk diproses dengan Amazon EMR.

Meluncurkan klaster Amazon EMR

Setelah menyiapkan lokasi penyimpanan dan aplikasi, Anda dapat meluncurkan cluster Amazon EMR sampel. Pada langkah ini, Anda meluncurkan cluster Apache Spark menggunakan versi rilis Amazon EMR terbaru.

Console
Untuk meluncurkan cluster dengan Spark diinstal dengan konsol
  1. Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Di bawah EMR di EC2 di panel navigasi kiri, pilih Clu ster, lalu pilih Buat cluster.

  3. Pada halaman Buat Cluster, perhatikan nilai default untuk R ilis, Jenis Inst ans, Jumlah instance, dan Izin. Bidang-bidang ini secara otomatis diisi dengan nilai-nilai yang berfungsi untuk cluster tujuan umum.

  4. Di bidang Nama cluster, masukkan nama cluster unik untuk membantu Anda mengidentifikasi cluster Anda, sepertiMy first cluster. Nama cluster Anda tidak dapat berisi karakter <, >, $, |, atau `(backtick).

  5. Di bawah Aplikasi, pilih opsi Spark untuk menginstal Spark pada klaster Anda.

    catatan

    Pilih aplikasi yang Anda inginkan di cluster Amazon EMR Anda sebelum Anda meluncurkan cluster. Anda tidak dapat menambah atau menghapus aplikasi dari klaster setelah peluncuran.

  6. Di bawah log cluster, pilih kotak centang Publikasikan log khusus cluster ke Amazon S3. Ganti nilai lokasi Amazon S3 dengan bucket Amazon S3 yang Anda buat, diikuti oleh/logs. Misalnya, s3://amzn-s3-demo-bucket/logs. Men /logs ambahkan membuat folder baru bernama 'log' di bucket Anda, tempat Amazon EMR dapat menyalin file log cluster Anda.

  7. Di bawah Konfigurasi dan izin keamanan, pilih pasangan kunci EC2 Anda. Di bagian yang sama, pilih Peran Layanan untuk menu dropdown Amazon EMR dan pilih EMR_. DefaultRole Kemudian, pilih peran IAM untuk menu dropdown profil contoh dan pilih EMR_EC2_. DefaultRole

  8. Pilih Buat cluster untuk meluncurkan cluster dan membuka halaman detail cluster.

  9. Temukan Status cluster di sebelah nama cluster. Status berubah dari Mulai Ber jalan menjadi Menun ggu saat Amazon EMR menyediakan cluster. Anda mungkin perlu memilih ikon refresh di sebelah kanan atau menyegarkan browser Anda untuk melihat pembaruan status.

Status cluster Anda berubah menjadi Men unggu saat cluster aktif, berjalan, dan siap menerima pekerjaan. Untuk informasi selengkapnya tentang membaca ringkasan klaster, lihat Lihat status dan detail cluster Amazon EMR. Untuk informasi tentang status klaster, lihat Memahami siklus hidup klaster.

CLI
Untuk meluncurkan cluster dengan Spark diinstal dengan AWS CLI
  1. Buat peran default IAM yang kemudian dapat Anda gunakan untuk membuat cluster Anda dengan menggunakan perintah berikut.

    aws emr create-default-roles

    Untuk informasi selengkapnyacreate-default-roles, lihat Referensi AWS CLI Perintah.

  2. Buat klaster Spark Anda dengan perintah berikut. Masukkan nama klaster Anda dengan opsi --name, dan tentukan nama pasangan kunci EC2 Anda dengan opsi --ec2-attributes.

    aws emr create-cluster \ --name "<My First EMR Cluster>" \ --release-label <emr-5.36.2> \ --applications Name=Spark \ --ec2-attributes KeyName=<myEMRKeyPairName> \ --instance-type m5.xlarge \ --instance-count 3 \ --use-default-roles

    Perhatikan nilai lain yang diperlukan untuk --instance-type, --instance-count, dan --use-default-roles. Nilai-nilai ini telah dipilih untuk klaster tujuan umum. Untuk informasi selengkapnyacreate-cluster, lihat Referensi AWS CLI Perintah.

    catatan

    Karakter lanjutan baris Linux (\) disertakan agar mudah dibaca Karakter ini bisa dihapus atau digunakan dalam perintah Linux. Untuk Windows, hapus atau ganti dengan tanda sisipan (^).

    Anda akan melihat output seperti berikut. Output menunjukkan ClusterId dan ClusterArn cluster baru Anda. Perhatikan AndaClusterId. Anda menggunakan ClusterId untuk memeriksa status cluster dan untuk mengirimkan pekerjaan.

    { "ClusterId": "myClusterId", "ClusterArn": "myClusterArn" }
  3. Periksa status klaster Anda dengan perintah berikut.

    aws emr describe-cluster --cluster-id <myClusterId>

    Anda akan melihat output seperti berikut dengan Status objek untuk cluster baru Anda.

    { "Cluster": { "Id": "myClusterId", "Name": "My First EMR Cluster", "Status": { "State": "STARTING", "StateChangeReason": { "Message": "Configuring cluster software" } } } }

    StateNilai berubah dari STARTING RUNNING menjadi WAITING saat Amazon EMR menyediakan cluster.

Status cluster berubah menjadi WAITING saat cluster aktif, berjalan, dan siap menerima pekerjaan. Untuk informasi tentang status klaster, lihat Memahami siklus hidup klaster.

Langkah 2: Kirim pekerjaan ke cluster Amazon EMR Anda

Kirim pekerjaan dan lihat hasil

Setelah meluncurkan cluster, Anda dapat mengirimkan pekerjaan ke cluster yang sedang berjalan untuk memproses dan menganalisis data. Anda mengirimkan pekerjaan ke cluster Amazon EMR sebagai langkah. Langkah adalah unit kerja yang terdiri dari satu atau lebih tindakan. Misalnya, Anda dapat mengirimkan satu langkah untuk mengomputasi nilai, atau untuk mentransfer dan memproses data. Anda dapat mengirimkan langkah-langkah saat membuat cluster, atau ke cluster yang sedang berjalan. Di bagian tutorial ini, Anda mengirimkan health_violations.py sebagai langkah ke cluster yang sedang berjalan. Untuk mempelajari lebih lanjut tentang langkah-langkah, lihatMengirimkan pekerjaan ke cluster Amazon EMR.

Console
Untuk mengirimkan aplikasi Spark sebagai langkah dengan konsol
  1. Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Di bawah EMR di EC2 di panel navigasi kiri, pilih Clu ster, lalu pilih cluster tempat Anda ingin mengirimkan pekerjaan. Status cluster harus menunggu.

  3. Pilih tab Langkah, lalu pilih Tam bah langkah.

  4. Konfigurasikan langkah sesuai dengan pedoman berikut:

    • Untuk Jenis, pilih aplikasi Spark. Anda akan melihat bidang tambahan untuk mode Deplo y, Lokasi aplikasi, dan Spark-submit opsi.

    • Untuk Nama, masukkan nama baru. Jika Anda memiliki banyak langkah dalam sebuah klaster, penamaan setiap langkah membantu Anda melacak mereka.

    • Untuk mode Deplo y, tinggalkan nilai default mode Cluster. Untuk informasi selengkapnya tentang mode penerapan Spark, lihat ik htisar mode Cluster di dokumentasi Apache Spark.

    • Untuk Lokasi aplikasi, masukkan lokasi health_violations.py skrip Anda di Amazon S3, sepertis3://amzn-s3-demo-bucket/health_violations.py.

    • Biarkan bidang Spark-submit opsi kosong. Untuk informasi selengkapnya tentang spark-submit opsi, lihat Mel uncurkan aplikasi dengan spark-submit.

    • Dalam bidang Argumen, masukkan argumen dan nilai berikut:

      --data_source s3://amzn-s3-demo-bucket/food_establishment_data.csv --output_uri s3://amzn-s3-demo-bucket/myOutputFolder

      Ganti s3://amzn-s3-demo-bucket/food_establishment_data.csv dengan URI bucket S3 dari data input yang Anda siapkanSiapkan aplikasi dengan data input untuk Amazon EMR.

      Ganti amzn-s3-demo-bucket dengan nama bucket yang Anda buat untuk tutorial ini, dan ganti myOutputFolder dengan nama untuk folder keluaran cluster Anda.

    • Untuk Tindakan jika langkah gagal, terima opsi default L anjutkan. Dengan cara ini, jika langkah gagal, cluster terus berjalan.

  5. Pilih Tambahkan untuk mengirimkan langkah. Langkah akan ditampilkan di konsol dengan status Tertunda.

  6. Pantau status langkah. Itu harus berubah dari Ter tunda ke Ber jalan ke Selesai. Untuk menyegarkan status di konsol, pilih ikon refresh di sebelah kanan Filter. Skrip membutuhkan waktu sekitar satu menit untuk dijalankan. Ketika status berubah menjadi Sel esai, langkah telah berhasil diselesaikan.

CLI
Untuk mengirimkan aplikasi Spark sebagai langkah dengan AWS CLI
  1. Pastikan Anda memiliki ClusterId dari klaster yang Anda luncurkan di Meluncurkan klaster Amazon EMR. Anda juga dapat mengambil ID klaster dengan perintah berikut.

    aws emr list-clusters --cluster-states WAITING
  2. Kirim health_violations.py sebagai langkah dengan add-steps perintah dan AndaClusterId.

    • Anda dapat menentukan nama untuk langkah Anda dengan mengganti"My Spark Application". Dalam Args array, ganti s3://amzn-s3-demo-bucket/health_violations.py dengan lokasi health_violations.py aplikasi Anda.

    • Ganti s3://amzn-s3-demo-bucket/food_establishment_data.csv dengan lokasi S3 dari food_establishment_data.csv dataset Anda.

    • Ganti s3://amzn-s3-demo-bucket/MyOutputFolder dengan jalur S3 dari bucket yang ditunjuk dan nama untuk folder keluaran cluster Anda.

    • ActionOnFailure=CONTINUEberarti cluster terus berjalan jika langkah gagal.

    aws emr add-steps \ --cluster-id <myClusterId> \ --steps Type=Spark,Name="<My Spark Application>",ActionOnFailure=CONTINUE,Args=[<s3://amzn-s3-demo-bucket/health_violations.py>,--data_source,<s3://amzn-s3-demo-bucket/food_establishment_data.csv>,--output_uri,<s3://amzn-s3-demo-bucket/MyOutputFolder>]

    Untuk informasi selengkapnya tentang mengirimkan langkah-langkah menggunakan CLI, lihat Referensi Perintah AWS CLI.

    Setelah Anda mengirimkan langkah, Anda akan melihat output seperti berikut dengan daftarStepIds. Karena Anda mengirimkan satu langkah, Anda hanya akan melihat satu ID dalam daftar. Salin ID langkah Anda. Anda menggunakan ID langkah Anda untuk memeriksa status langkah.

    { "StepIds": [ "s-1XXXXXXXXXXA" ] }
  3. Kueri status langkah Anda dengan describe-step perintah.

    aws emr describe-step --cluster-id <myClusterId> --step-id <s-1XXXXXXXXXXA>

    Anda akan melihat output seperti berikut dengan informasi tentang langkah Anda.

    { "Step": { "Id": "s-1XXXXXXXXXXA", "Name": "My Spark Application", "Config": { "Jar": "command-runner.jar", "Properties": {}, "Args": [ "spark-submit", "s3://amzn-s3-demo-bucket/health_violations.py", "--data_source", "s3://amzn-s3-demo-bucket/food_establishment_data.csv", "--output_uri", "s3://amzn-s3-demo-bucket/myOutputFolder" ] }, "ActionOnFailure": "CONTINUE", "Status": { "State": "COMPLETED" } } }

    State dari langkah berubah dari PENDING ke RUNNING ke COMPLETED selagi langkah berjalan. Langkah ini membutuhkan waktu sekitar satu menit untuk dijalankan, jadi Anda mungkin perlu memeriksa statusnya beberapa kali.

Anda akan tahu langkah berhasil selesai ketika State berubah ke COMPLETED.

Untuk informasi lebih lanjut tentang siklus hidup langkah, lihat Menjalankan langkah-langkah untuk memproses data.

Lihat hasil

Setelah langkah berjalan dengan sukses, Anda dapat melihat hasil outputnya di folder keluaran Amazon S3 Anda.

Untuk melihat hasil dari health_violations.py
  1. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Pilih Nama bucket kemudian folder output yang Anda tentukan ketika Anda mengirimkan langkah. Misalnya, amzn-s3-demo-bucket dan kemudianmyOutputFolder.

  3. Pastikan item berikut muncul di folder keluaran Anda:

    • Sebuah objek berukuran kecil disebut_SUCCESS.

    • File CSV dimulai dengan awalan part- yang berisi hasil Anda.

  4. Pilih objek dengan hasil Anda, lalu pilih Unduh untuk menyimpan hasilnya ke sistem file lokal Anda.

  5. Buka hasilnya di editor pilihan Anda. File keluaran mencantumkan sepuluh perusahaan makanan teratas dengan pelanggaran paling merah. File keluaran juga menunjukkan jumlah total pelanggaran merah untuk setiap pendirian.

    Berikut ini adalah contoh health_violations.py hasil.

    name, total_red_violations SUBWAY, 322 T-MOBILE PARK, 315 WHOLE FOODS MARKET, 299 PCC COMMUNITY MARKETS, 251 TACO TIME, 240 MCDONALD'S, 177 THAI GINGER, 153 SAFEWAY INC #1508, 143 TAQUERIA EL RINCONSITO, 134 HIMITSU TERIYAKI, 128

Untuk informasi lebih lanjut tentang output klaster Amazon EMR, lihat Konfigurasikan lokasi untuk keluaran cluster Amazon EMR.

Saat menggunakan Amazon EMR, Anda mungkin ingin terhubung ke cluster yang sedang berjalan untuk membaca file log, men-debug cluster, atau menggunakan alat CLI seperti shell Spark. Amazon EMR memungkinkan Anda terhubung ke cluster menggunakan protokol Secure Shell (SSH). Bagian ini mencakup cara mengkonfigurasi SSH, terhubung ke cluster Anda, dan melihat file log untuk Spark. Untuk informasi selengkapnya tentang menghubungkan ke cluster, lihatAutentikasi ke simpul klaster Amazon EMR.

Otorisasi koneksi SSH ke cluster Anda

Sebelum Anda terhubung ke cluster Anda, Anda perlu memodifikasi grup keamanan cluster Anda untuk mengotorisasi koneksi SSH masuk. Grup keamanan Amazon EC2 bertindak sebagai firewall virtual untuk mengontrol lalu lintas masuk dan keluar ke cluster Anda. Saat Anda membuat cluster untuk tutorial ini, Amazon EMR membuat grup keamanan berikut atas nama Anda:

ElasticMapReduce-master

Grup keamanan terkelola Amazon EMR default yang terkait dengan node utama. Dalam cluster Amazon EMR, node utama adalah instans Amazon EC2 yang mengelola cluster.

ElasticMapReduce-slave

Grup keamanan keamanan default yang terkait dengan simpul tugas dan core.

Console
Untuk mengizinkan akses SSH untuk sumber tepercaya untuk grup keamanan utama dengan konsol

Untuk mengedit grup keamanan Anda, Anda harus memiliki izin untuk mengelola grup keamanan untuk VPC tempat cluster berada. Untuk informasi selengkapnya, lihat Meng ubah Izin untuk pengguna dan Kebijakan Contoh yang memungkinkan pengelolaan grup keamanan EC2 di Panduan Pengguna IAM.

  1. Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Di bawah EMR di EC2 di panel navigasi kiri, pilih Clu ster, lalu pilih cluster yang ingin Anda perbarui. Ini membuka halaman detail cluster. Tab Properties pada halaman ini harus dipilih sebelumnya.

  3. Di bawah Jaringan di tab Properties, pilih panah di sebelah grup keamanan EC2 (firewall) untuk memperluas bagian ini. Di bawah Node utama, pilih tautan grup keamanan. Ketika Anda telah menyelesaikan langkah-langkah berikut, Anda dapat secara opsional kembali ke langkah ini, memilih Core dan node tugas, dan ulangi langkah-langkah berikut untuk memungkinkan akses klien SSH ke node inti dan tugas.

  4. Ini membuka konsol EC2. Pilih tab Aturan masuk dan kemudian Edit aturan masuk.

  5. Memeriksa aturan masuk yang mengizinkan akses publik dengan pengaturan berikut. Jika ada, pilih Hapus untuk menghapusnya.

    • Jenis

      SSH

    • Port

      22

    • Sumber

      Kustom 0.0.0. 0/0

    Awas

    Sebelum Desember 2020, grup ElasticMapReduce-master keamanan memiliki aturan pra-konfigurasi untuk mengizinkan lalu lintas masuk di Port 22 dari semua sumber. Aturan ini dibuat untuk menyederhanakan koneksi SSH awal ke simpul utama. Kami sangat menyarankan Anda menghapus aturan masuk ini dan membatasi lalu lintas ke sumber tepercaya.

  6. Gulir ke bagian bawah daftar aturan dan pilih Tambahkan Aturan.

  7. Untuk Jenis, pilih SSH. Memilih SSH secara otomatis memasukkan TCP untuk Protokol dan 22 untuk Port Range.

  8. Untuk sumber, pilih IP Saya untuk secara otomatis menambahkan alamat IP Anda sebagai alamat sumber. Anda juga dapat menambahkan berbagai alamat IP klien tepercaya kustom, atau membuat aturan tambahan untuk klien lain. Banyak lingkungan jaringan mengalokasikan alamat IP secara dinamis, jadi Anda mungkin perlu memperbarui alamat IP Anda untuk klien tepercaya di masa mendatang.

  9. Pilih Simpan.

  10. Secara opsional, pilih Core dan task node dari daftar dan ulangi langkah-langkah di atas untuk memungkinkan akses klien SSH ke node inti dan tugas.

Hubungkan ke cluster Anda menggunakan AWS CLI

Terlepas dari sistem operasi Anda, Anda dapat membuat koneksi SSH ke cluster Anda menggunakan AWS CLI.

Untuk menyambung ke cluster Anda dan melihat file log menggunakan AWS CLI
  1. Gunakan perintah berikut untuk membuka koneksi SSH ke cluster Anda. Ganti <mykeypair.key> dengan path lengkap dan nama file dari file pasangan kunci Anda. Misalnya, C:\Users\<username>\.ssh\mykeypair.pem.

    aws emr ssh --cluster-id <j-2AL4XXXXXX5T9> --key-pair-file <~/mykeypair.key>
  2. Arahkan /mnt/var/log/spark ke untuk mengakses log Spark pada node master cluster Anda. Kemudian lihat file di lokasi itu. Untuk daftar file log tambahan pada node master, lihatMelihat file log pada node utama.

    cd /mnt/var/log/spark ls

Amazon EMR di EC2 juga merupakan tipe komputasi yang didukung untuk Amazon SageMaker AI Unified Studio. Lihat M engelola Amazon EMR di EC2 untuk mengetahui cara menggunakan dan mengelola EMR pada sumber daya EC2 di Unified Studio. Amazon SageMaker AI

Langkah 3: Bersihkan sumber daya Amazon EMR Anda

Hentikan cluster Anda

Sekarang setelah Anda mengirimkan pekerjaan ke cluster Anda dan melihat hasil PySpark aplikasi Anda, Anda dapat menghentikan cluster. Menghentikan cluster menghentikan semua biaya Amazon EMR terkait cluster dan instans Amazon EC2.

Saat Anda menghentikan cluster, Amazon EMR menyimpan metadata tentang cluster selama dua bulan tanpa biaya. Metadata yang diarsipkan membantu Anda mengkloning cluster untuk pekerjaan baru atau meninjau kembali konfigurasi cluster untuk tujuan referensi. Metadata tidak menyer takan data yang ditulis cluster ke S3, atau data yang disimpan dalam HDFS pada cluster.

catatan

Konsol Amazon EMR tidak mengizinkan Anda menghapus cluster dari tampilan daftar setelah Anda menghentikan cluster. Klaster yang diakhiri akan menghilang dari konsol ketika Amazon EMR membersihkan metadata.

Console
Untuk mengakhiri cluster dengan konsol
  1. Masuk ke Konsol Manajemen AWS, dan buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Pilih Cluster, lalu pilih cluster yang ingin Anda akhiri.

  3. Di bawah menu tar ik -turun Tindakan, pilih H entikan cluster.

  4. Pilih Akh iri di kotak dialog. Tergantung pada konfigurasi cluster, penghentian mungkin memakan waktu 5 hingga 10 menit. Untuk informasi selengkapnya tentang cara membuat cluster Amazon EMR, lihatMenghentikan cluster Amazon EMR di status awal, berjalan, atau menunggu.

CLI
Untuk mengakhiri cluster dengan AWS CLI
  1. Memulai proses terminasi cluster dengan perintah berikut. Ganti <myClusterId> dengan ID cluster sampel Anda. Perintah tidak mengembalikan output.

    aws emr terminate-clusters --cluster-ids <myClusterId>
  2. Untuk memeriksa apakah proses penghentian cluster sedang berlangsung, periksa status cluster dengan perintah berikut.

    aws emr describe-cluster --cluster-id <myClusterId>

    Berikut ini adalah contoh output dalam format JSON. Klaster Status akan berubah dari TERMINATING ke TERMINATED. Pengakhiran mungkin memakan waktu 5 hingga 10 menit tergantung pada konfigurasi cluster Anda. Untuk informasi selengkapnya tentang mengakhiri cluster Amazon EMR, lihat. Menghentikan cluster Amazon EMR di status awal, berjalan, atau menunggu

    { "Cluster": { "Id": "j-xxxxxxxxxxxxx", "Name": "My Cluster Name", "Status": { "State": "TERMINATED", "StateChangeReason": { "Code": "USER_REQUEST", "Message": "Terminated by user request" } } } }

Menghapus sumber daya S3

Untuk menghindari biaya tambahan, Anda harus menghapus bucket Amazon S3 Anda. Menghapus bucket akan menghapus semua sumber daya Amazon S3 untuk tutorial ini. Ember Anda harus berisi:

  • PySpark Skrip

  • Dataset input

  • Folder hasil keluaran Anda

  • Folder file log Anda

Anda mungkin perlu mengambil langkah tambahan untuk menghapus file yang disimpan jika Anda menyimpan PySpark skrip atau output Anda di lokasi yang berbeda.

catatan

Cluster Anda harus dihentikan sebelum Anda menghapus bucket Anda. Jika tidak, Anda mungkin tidak diizinkan untuk mengosongkan ember.

Untuk menghapus bucket Anda, ikuti petunjuk di Bagaimana cara menghapus bucket S3? dalam Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Langkah selanjutnya

Anda sekarang telah meluncurkan cluster Amazon EMR pertama Anda dari awal hingga akhir. Anda juga telah menyelesaikan tugas-tugas EMR penting seperti menyiapkan dan mengirimkan aplikasi data besar, melihat hasil, dan menghentikan cluster.

Gunakan topik berikut untuk mempelajari lebih lanjut tentang cara menyesuaikan alur kerja Amazon EMR Anda.

Menjelajahi aplikasi big data untuk Amazon EMR

Temukan dan bandingkan aplikasi big data yang dapat Anda instal pada klaster dalam Panduan Rilis Amazon EMR. Panduan Rilis merinci setiap versi rilis EMR dan menyertakan tips untuk menggunakan kerangka kerja seperti Spark dan Hadoop di Amazon EMR.

Merencanakan perangkat keras, jaringan, dan keamanan klaster

Dalam tutorial ini, Anda membuat cluster EMR sederhana tanpa mengkonfigurasi opsi lanjutan. Opsi lanjutan memungkinkan Anda menentukan jenis instans Amazon EC2, jaringan cluster, dan keamanan cluster. Untuk informasi selengkapnya tentang perencanaan dan peluncuran cluster yang memenuhi persyaratan Anda, lihat Rencanakan, konfigurasikan, dan luncurkan cluster Amazon EMR danKeamanan di Amazon EMR.

Mengelola klaster

Selami lebih dalam bekerja dengan menjalankan cluster diKelola cluster Amazon EMR. Untuk mengelola cluster, Anda dapat terhubung ke cluster, men-debug langkah-langkah, dan melacak aktivitas dan kesehatan cluster. Anda juga dapat menyesuaikan sumber daya cluster sebagai respons terhadap tuntutan beban kerja dengan penskalaan terkelola EMR.

Menggunakan antarmuka yang berbeda

Selain konsol Amazon EMR, Anda dapat mengelola Amazon EMR menggunakan, API layanan web AWS Command Line Interface, atau salah satu dari banyak SDK yang didukung AWS . Untuk informasi selengkapnya, lihat Antarmuka manajemen.

Anda juga dapat berinteraksi dengan aplikasi yang diinstal pada cluster Amazon EMR dengan berbagai cara. Beberapa aplikasi seperti Apache Hadoop menerbitkan antarmuka web yang dapat Anda lihat. Untuk informasi selengkapnya, lihat Melihat antarmuka web yang di-host pada klaster Amazon EMR.

Menelusuri blog teknis EMR

Untuk contoh panduan dan diskusi teknis mendalam tentang fitur Amazon EMR baru, lihat blog data AWS besar.