Dukungan MSK versi Amazon - Amazon Managed Streaming untuk Apache Kafka

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

Dukungan MSK versi Amazon

Topik ini menjelaskan Kebijakan dukungan MSK versi Amazon dan prosedur untukMemperbarui versi Apache Kafka. Jika Anda meningkatkan versi Kafka Anda, ikuti praktik terbaik yang diuraikan di. Praktik terbaik untuk peningkatan versi

Kebijakan dukungan MSK versi Amazon

Bagian ini menjelaskan kebijakan dukungan untuk versi Kafka yang MSK didukung Amazon.

  • Semua versi Kafka didukung hingga mereka mencapai akhir tanggal dukungan mereka. Untuk detail tentang akhir tanggal dukungan, lihatVersi Apache Kafka yang didukung. Tingkatkan MSK klaster Anda ke versi Kafka yang direkomendasikan atau versi yang lebih tinggi sebelum akhir tanggal dukungan. Untuk detail tentang memperbarui versi Apache Kafka Anda, lihat. Memperbarui versi Apache Kafka Cluster yang menggunakan versi Kafka setelah akhir tanggal dukungannya ditingkatkan secara otomatis ke versi Kafka yang direkomendasikan.

  • MSKakan menghapus dukungan untuk cluster yang baru dibuat yang menggunakan versi Kafka dengan tanggal akhir dukungan yang diterbitkan.

Memperbarui versi Apache Kafka

Anda dapat memperbarui MSK cluster yang ada ke versi Apache Kafka yang lebih baru. Anda tidak dapat memperbaruinya ke versi lama. Saat Anda memperbarui versi Apache Kafka dari sebuah MSK cluster, periksa juga perangkat lunak sisi klien Anda untuk memastikan versinya memungkinkan Anda menggunakan fitur versi Apache Kafka baru cluster. Amazon MSK hanya memperbarui perangkat lunak server. Itu tidak memperbarui klien Anda.

Untuk informasi tentang cara membuat klaster sangat tersedia selama pembaruan, lihatBangun cluster yang sangat tersedia.

penting

Anda tidak dapat memperbarui versi Apache Kafka untuk MSK klaster yang melebihi batas yang dijelaskan dalam. Ukuran kluster Anda dengan benar: Jumlah partisi per broker

Memperbarui versi Apache Kafka menggunakan AWS Management Console
  1. Buka MSK konsol Amazon dihttps://console.aws.amazon.com/msk/.

  2. Pilih MSK cluster tempat Anda ingin memperbarui versi Apache Kafka.

  3. Pada tab Properties pilih Upgrade di bagian versi Apache Kafka.

Memperbarui versi Apache Kafka menggunakan AWS CLI
  1. Jalankan perintah berikut, ganti ClusterArn dengan Amazon Resource Name (ARN) yang Anda peroleh saat membuat klaster. Jika Anda tidak memiliki ARN untuk cluster Anda, Anda dapat menemukannya dengan mencantumkan semua cluster. Untuk informasi selengkapnya, lihat Daftar MSK kluster Amazon.

    aws kafka get-compatible-kafka-versions --cluster-arn ClusterArn

    Output dari perintah ini mencakup daftar versi Apache Kafka yang dapat Anda perbarui cluster. Sepertinya contoh berikut.

    { "CompatibleKafkaVersions": [ { "SourceVersion": "2.2.1", "TargetVersions": [ "2.3.1", "2.4.1", "2.4.1.1", "2.5.1" ] } ] }
  2. Jalankan perintah berikut, ganti ClusterArn dengan Amazon Resource Name (ARN) yang Anda peroleh saat membuat klaster. Jika Anda tidak memiliki ARN untuk cluster Anda, Anda dapat menemukannya dengan mencantumkan semua cluster. Untuk informasi selengkapnya, lihat Daftar MSK kluster Amazon.

    Ganti Current-Cluster-Version dengan versi cluster saat ini. Untuk TargetVersion Anda dapat menentukan salah satu versi target dari output dari perintah sebelumnya.

    penting

    Versi cluster bukan bilangan bulat sederhana. Untuk menemukan versi cluster saat ini, gunakan DescribeClusteroperasi atau perintah AWS CLI deskripsi-cluster. Contoh versi adalahKTVPDKIKX0DER.

    aws kafka update-cluster-kafka-version --cluster-arn ClusterArn --current-version Current-Cluster-Version --target-kafka-version TargetVersion

    Output dari perintah sebelumnya terlihat seperti berikut iniJSON.

    { "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" }
  3. Untuk mendapatkan hasil update-cluster-kafka-version operasi, jalankan perintah berikut, ganti ClusterOperationArn dengan ARN yang Anda peroleh di output update-cluster-kafka-version perintah.

    aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn

    Output dari describe-cluster-operation perintah ini terlihat seperti JSON contoh berikut.

    { "ClusterOperationInfo": { "ClientRequestId": "62cd41d2-1206-4ebf-85a8-dbb2ba0fe259", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2021-03-11T20:34:59.648000+00:00", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_IN_PROGRESS", "OperationSteps": [ { "StepInfo": { "StepStatus": "IN_PROGRESS" }, "StepName": "INITIALIZE_UPDATE" }, { "StepInfo": { "StepStatus": "PENDING" }, "StepName": "UPDATE_APACHE_KAFKA_BINARIES" }, { "StepInfo": { "StepStatus": "PENDING" }, "StepName": "FINALIZE_UPDATE" } ], "OperationType": "UPDATE_CLUSTER_KAFKA_VERSION", "SourceClusterInfo": { "KafkaVersion": "2.4.1" }, "TargetClusterInfo": { "KafkaVersion": "2.6.1" } } }

    Jika OperationState memiliki nilaiUPDATE_IN_PROGRESS, tunggu sebentar, lalu jalankan describe-cluster-operation perintah lagi. Ketika operasi selesai, nilai OperationState menjadiUPDATE_COMPLETE. Karena waktu yang diperlukan Amazon MSK untuk menyelesaikan operasi bervariasi, Anda mungkin perlu memeriksa berulang kali hingga operasi selesai.

Memperbarui versi Apache Kafka menggunakan API
  1. Panggil GetCompatibleKafkaVersionsoperasi untuk mendapatkan daftar versi Apache Kafka yang dapat Anda perbarui cluster.

  2. Panggil UpdateClusterKafkaVersionoperasi untuk memperbarui cluster ke salah satu versi Apache Kafka yang kompatibel.

Praktik terbaik untuk peningkatan versi

Untuk memastikan kontinuitas klien selama pembaruan bergulir yang dilakukan sebagai bagian dari proses peningkatan versi Kafka, tinjau konfigurasi klien Anda dan topik Apache Kafka Anda sebagai berikut:

  • Tetapkan faktor replikasi topik (RF) ke nilai minimum untuk cluster dua-AZ dan nilai minimum 2 untuk cluster tiga-AZ. 3 Nilai RF 2 dapat menyebabkan partisi offline selama penambalan.

  • Tetapkan replika sinkronisasi minimum (minISR) ke nilai maksimum RF - 1 untuk memastikan kumpulan replika partisi dapat mentolerir satu replika yang sedang offline atau kurang direplikasi.

  • Konfigurasikan klien untuk menggunakan beberapa string koneksi broker. Memiliki beberapa broker dalam string koneksi klien memungkinkan failover jika broker tertentu yang mendukung klien I/O mulai ditambal. Untuk informasi tentang cara mendapatkan string koneksi dengan beberapa broker, lihat Mendapatkan broker bootstrap untuk MSK klaster Amazon.

  • Kami menyarankan Anda meningkatkan menghubungkan klien ke versi yang disarankan atau lebih tinggi untuk mendapatkan manfaat dari fitur yang tersedia di versi baru. Upgrade klien tidak tunduk pada tanggal akhir life (EOL) versi Kafka MSK klaster Anda, dan tidak perlu diselesaikan pada tanggal tersebutEOL. Apache Kafka menyediakan kebijakan kompatibilitas klien dua arah yang memungkinkan klien lama bekerja dengan cluster yang lebih baru dan sebaliknya.

  • Klien Kafka yang menggunakan versi 3.xx kemungkinan akan datang dengan default berikut: dan. acks=all enable.idempotence=true acks=allberbeda dari default sebelumnya acks=1 dan memberikan daya tahan ekstra dengan memastikan bahwa semua replika yang sinkron mengakui permintaan produksi. Demikian pula, default untuk enable.idempotence sebelumnyafalse. Perubahan menjadi enable.idempotence=true sebagai default menurunkan kemungkinan pesan duplikat. Perubahan ini dianggap sebagai pengaturan praktik terbaik dan dapat memperkenalkan sejumlah kecil latensi tambahan yang berada dalam parameter kinerja normal.

  • Gunakan versi Kafka yang direkomendasikan saat membuat MSK cluster baru. Menggunakan versi Kafka yang direkomendasikan memungkinkan Anda untuk mendapatkan manfaat dari Kafka dan MSK fitur terbaru.