Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menghapus Broker dari Klaster Amazon MSK
Gunakan operasi MSK Amazon ini saat Anda ingin menghapus broker dari kluster yang disediakan Amazon Managed Streaming for Apache Kafka (MSK). Anda dapat mengurangi kapasitas penyimpanan dan komputasi klaster Anda dengan menghapus kumpulan broker, tanpa dampak ketersediaan, risiko daya tahan data, atau gangguan pada aplikasi streaming data Anda.
Anda dapat menambahkan lebih banyak broker ke cluster Anda untuk menangani peningkatan lalu lintas, dan menghapus broker ketika lalu lintas mereda. Dengan kemampuan penambahan dan penghapusan broker, Anda dapat memanfaatkan kapasitas cluster Anda dengan sebaik-baiknya dan mengoptimalkan biaya infrastruktur MSK Anda. Penghapusan broker memberi Anda kontrol tingkat broker atas kapasitas klaster yang ada agar sesuai dengan kebutuhan beban kerja Anda dan menghindari migrasi ke klaster lain.
Gunakan AWS Konsol, Antarmuka Baris Perintah (CLI), SDK, atau AWS CloudFormation untuk mengurangi jumlah broker klaster yang disediakan. MSK memilih broker yang tidak memiliki partisi pada mereka (kecuali untuk topik kenari) dan mencegah aplikasi menghasilkan data ke broker tersebut, sambil dengan aman menghapus broker tersebut dari cluster.
Anda harus menghapus satu broker per Availability Zone, jika Anda ingin mengurangi penyimpanan dan komputasi cluster. Misalnya, Anda dapat menghapus dua broker dari dua klaster Availability Zone, atau tiga broker dari tiga klaster Availability Zone dalam satu operasi penghapusan broker.
Untuk informasi tentang cara menyeimbangkan kembali partisi setelah Anda menghapus broker dari cluster, lihat. Tetapkan kembali partisi
Anda dapat menghapus broker dari semua kluster yang disediakan MSK berbasis M5 dan M7g, terlepas dari ukuran instans.
Penghapusan broker didukung pada Kafka versi 2.8.1 dan di atasnya, termasuk pada cluster KRaft mode.
Bersiaplah untuk menghapus broker dengan menghapus semua partisi
Sebelum Anda memulai proses penghapusan broker, pertama-tama pindahkan semua partisi, kecuali yang untuk topik __amazon_msk_canary dan __amazon_msk_canary_state dari broker yang Anda rencanakan untuk dihapus. Ini adalah topik internal yang dibuat Amazon MSK untuk kesehatan klaster dan metrik diagnostik.
Anda dapat menggunakan admin Kafka APIs atau Cruise Control untuk memindahkan partisi ke broker lain yang ingin Anda pertahankan di cluster. Lihat Menetapkan ulang partisi.
Contoh proses untuk menghapus partisi
Bagian ini adalah contoh cara menghapus partisi dari broker yang ingin Anda hapus. Asumsikan Anda memiliki cluster dengan 6 broker, 2 broker di setiap AZ, dan memiliki empat topik:
__amazon_msk_canary__consumer_offsets__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2msk-brk-rmv
Buat mesin klien seperti yang dijelaskan dalam Buat mesin klien.
Setelah mengkonfigurasi mesin klien, jalankan perintah berikut untuk mencantumkan semua topik yang tersedia di cluster Anda.
./bin/kafka-topics.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --listDalam contoh ini, kita melihat empat nama topik,
__amazon_msk_canary,__consumer_offsets,__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2, danmsk-brk-rmv.Buat file json yang dipanggil
topics.jsonpada mesin klien dan tambahkan semua nama topik pengguna seperti pada contoh kode berikut. Anda tidak perlu menyertakan nama__amazon_msk_canarytopik karena ini adalah topik yang dikelola layanan yang akan dipindahkan secara otomatis bila diperlukan.{ "topics": [ {"topic": "msk-brk-rmv"}, {"topic": "__consumer_offsets"}, {"topic": "__amazon_msk_connect_offsets_my-mskc-connector_12345678-09e7-c657f7e4ff32-2"} ], "version":1 }Jalankan perintah berikut untuk menghasilkan proposal untuk memindahkan partisi ke hanya 3 broker dari 6 broker di cluster.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --topics-to-move-json-file topics.json --broker-list 1,2,3 --generateBuat file bernama
reassignment-file.jsondan salin yangproposed partition reassignment configurationAnda dapatkan dari perintah di atas.Jalankan perintah berikut untuk memindahkan partisi yang Anda tentukan di.
reassignment-file.json./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --executeOutput akan terlihat serupa dengan yang berikut ini:
Successfully started partition reassignments for morpheus-test-topic-1-0,test-topic-1-0Jalankan perintah berikut untuk memverifikasi semua partisi telah dipindahkan.
./bin/kafka-reassign-partitions.sh --bootstrap-server “CLUSTER_BOOTSTRAP_STRING” --reassignment-json-file reassignment-file.json --verifyOutput-nya akan terlihat serupa dengan yang berikut ini. Pantau status hingga semua partisi dalam topik yang Anda minta berhasil ditugaskan kembali:
Status of partition reassignment: Reassignment of partition msk-brk-rmv-0 is completed. Reassignment of partition msk-brk-rmv-1 is completed. Reassignment of partition __consumer_offsets-0 is completed. Reassignment of partition __consumer_offsets-1 is completed.Ketika status menunjukkan bahwa penugasan kembali partisi untuk setiap partisi selesai, pantau
UserPartitionExistsmetrik selama 5 menit untuk memastikannya ditampilkan0untuk broker tempat Anda memindahkan partisi. Setelah mengonfirmasi ini, Anda dapat melanjutkan untuk menghapus broker dari cluster.
Hapus broker dengan AWS Management Console
Untuk menghapus broker dengan Konsol AWS Manajemen
Buka konsol MSK Amazon di https://console.aws.amazon.com/msk/
. Pilih klaster MSK yang berisi broker yang ingin Anda hapus.
Pada halaman detail cluster, pilih tombol Tindakan dan pilih opsi Edit jumlah broker.
Masukkan jumlah broker yang Anda inginkan untuk dimiliki cluster per Availability Zone. Konsol merangkum jumlah broker di seluruh zona ketersediaan yang akan dihapus. Pastikan ini apa yang Anda inginkan.
Pilih Simpan perubahan.
Untuk mencegah penghapusan broker yang tidak disengaja, konsol meminta Anda untuk mengonfirmasi bahwa Anda ingin menghapus broker.
Hapus broker dengan AWS CLI
Jalankan perintah berikut, ganti ClusterArn dengan Amazon Resource Name (ARN) yang Anda peroleh saat membuat cluster Anda. Jika Anda tidak memiliki ARN untuk cluster Anda, Anda dapat menemukannya dengan mencantumkan semua cluster. Untuk informasi lebih lanjut, Daftar kluster MSK Amazon. Ganti Current-Cluster-Version dengan versi cluster saat ini.
penting
Versi cluster bukan bilangan bulat sederhana. Untuk menemukan versi cluster saat ini, gunakan DescribeClusteroperasi atau perintah AWS CLI deskripsi-clusterKTVPDKIKX0DER.
Target-Number-of-BrokersParameter mewakili jumlah total node broker yang Anda ingin cluster untuk memiliki ketika operasi ini selesai dengan sukses. Nilai yang Anda tentukan Target-Number-of-Brokers harus berupa bilangan bulat yang kurang dari jumlah broker saat ini di cluster. Itu juga harus kelipatan dari jumlah Availability Zones.
aws kafka update-broker-count --cluster-arnClusterArn--current-versionCurrent-Cluster-Version--target-number-of-broker-nodesTarget-Number-of-Brokers
Output dari update-broker-count operasi ini terlihat seperti JSON berikut.
{ "ClusterOperationInfo": { "ClientRequestId": "c0b7af47-8591-45b5-9c0c-909a1a2c99ea", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-09-25T23:48:04.794Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "DECREASE_BROKER_COUNT", "SourceClusterInfo": { "NumberOfBrokerNodes": 12 }, "TargetClusterInfo": { "NumberOfBrokerNodes": 9 } } }
Dalam output ini, OperationType adalahDECREASE_BROKER_COUNT. Jika OperationState memiliki nilaiUPDATE_IN_PROGRESS, tunggu sebentar, lalu jalankan describe-cluster-operation perintah lagi.
Hapus broker dengan AWS API
Untuk menghapus broker di klaster menggunakan API, lihat UpdateBrokerCountdi Referensi API Amazon Managed Streaming for Apache Kafka Kafka.