Coba lagi permintaan Amazon S3 dengan EMRFS - Amazon EMR

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

Coba lagi permintaan Amazon S3 dengan EMRFS

Topik ini memberikan informasi tentang strategi coba lagi yang dapat Anda gunakan saat membuat permintaan ke Amazon S3 dengan EMRFS. Saat tingkat permintaan Anda meningkat, S3 mencoba menskalakan untuk mendukung tarif baru. Selama proses ini S3 dapat membatasi permintaan dan mengembalikan kesalahan. 503 Slow Down Untuk meningkatkan tingkat keberhasilan permintaan S3 Anda, Anda dapat menyesuaikan strategi coba lagi dengan mengonfigurasi properti dalam konfigurasi Anda. emrfs-site

Anda dapat menyesuaikan strategi coba lagi dengan cara berikut.

  • Tingkatkan batas coba ulang maksimum untuk strategi coba ulang backoff eksponensial default.

  • Aktifkan dan konfigurasikan strategi coba lagi additive-increase/multiplicative-reduce (AIMD). AIMD didukung untuk Amazon EMR rilis 6.4.0 dan yang lebih baru.

Gunakan strategi backoff eksponensial default

Secara default, EMRFS menggunakan strategi backoff eksponensial untuk mencoba kembali permintaan Amazon S3. Batas coba lagi EMRFS default adalah 15. Untuk menghindari 503 Slow Down kesalahan S3, Anda dapat meningkatkan batas coba lagi saat membuat cluster baru, di cluster yang sedang berjalan, atau saat runtime aplikasi.

Untuk meningkatkan batas coba lagi, Anda harus mengubah nilai untuk fs.s3.maxRetries dalam emrfs-site konfigurasi Anda. Contoh konfigurasi berikut ditetapkan fs.s3.maxRetries ke nilai kustom 30.

[ { "Classification": "emrfs-site", "Properties": { "fs.s3.maxRetries": "30" } } ]

Untuk informasi selengkapnya tentang bekerja dengan objek konfigurasi, lihatKonfigurasikan aplikasi.

Gunakan strategi coba lagi AIMD

Dengan Amazon EMR rilis 6.4.0 dan yang lebih baru, EMRFS mendukung strategi coba lagi alternatif berdasarkan model additive-increase/multiplicative-reduce (AIMD). Strategi coba lagi AIMD sangat berguna saat Anda bekerja dengan kluster EMR Amazon yang besar.

AIMD menghitung tingkat permintaan kustom menggunakan data tentang permintaan yang berhasil baru-baru ini. Strategi ini mengurangi jumlah permintaan yang dibatasi dan total upaya yang diperlukan per permintaan.

Untuk mengaktifkan strategi percobaan ulang AIMD, Anda harus mengatur fs.s3.aimd.enabled properti ke true dalam emrfs-site konfigurasi Anda seperti pada contoh berikut.

[ { "Classification": "emrfs-site", "Properties": { "fs.s3.aimd.enabled": "true" } } ]

Untuk informasi selengkapnya tentang bekerja dengan objek konfigurasi, lihatKonfigurasikan aplikasi.

Pengaturan coba lagi AIMD tingkat lanjut

Anda dapat mengonfigurasi properti yang tercantum dalam tabel berikut untuk memperbaiki perilaku coba lagi saat Anda menggunakan strategi coba ulang AIMD. Untuk sebagian besar kasus penggunaan, kami sarankan Anda menggunakan nilai default.

Properti strategi coba lagi AIMD tingkat lanjut
Properti Nilai default Deskripsi
fs.s3.aimd.increaseIncrement 0.1 Mengontrol seberapa cepat tingkat permintaan meningkat ketika permintaan berturut-turut berhasil.
fs.s3.aimd.reductionFactor 2 Mengontrol seberapa cepat tingkat permintaan menurun saat Amazon S3 mengembalikan respons 503. Faktor default dari 2 memotong tingkat permintaan menjadi dua.
fs.s3.aimd.minRate 0.1 Menetapkan batas bawah untuk tingkat permintaan saat permintaan mengalami pelambatan berkelanjutan oleh S3.
fs.s3.aimd.initialRate 5500 Menetapkan tingkat permintaan awal, yang kemudian berubah sesuai dengan nilai yang Anda tentukan untuk fs.s3.aimd.increaseIncrement danfs.s3.aimd.reductionFactor.

Tarif awal juga digunakan untuk permintaan GET, dan diskalakan secara proporsional (3500/5500) untuk permintaan PUT.

fs.s3.aimd.adjustWindow 2 Mengontrol seberapa sering tingkat permintaan disesuaikan, diukur dalam jumlah tanggapan.
fs.s3.aimd.maxAttempts 100 Menetapkan jumlah maksimum upaya untuk mencoba permintaan.