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 Amazon MSK ini jika Anda ingin menghapus broker dari Amazon Managed Streaming untuk cluster yang disediakan Apache Kafka (MSK). Anda dapat mengurangi kapasitas penyimpanan dan komputasi cluster 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 saat 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 cluster yang ada agar sesuai dengan kebutuhan beban kerja Anda dan menghindari migrasi ke cluster lain.
Gunakan Kon AWS sol, Command Line Interface (CLI), SDK, atau CloudFormation untuk mengurangi jumlah broker dari cluster 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 Zona Ketersediaan, jika Anda ingin mengurangi penyimpanan dan komputasi cluster. Misalnya, Anda dapat menghapus dua broker dari klaster dua Availability Zone, atau tiga broker dari tiga cluster Availability Zone dalam operasi penghapusan broker tunggal.
Untuk informasi tentang cara menyeimbangkan partisi setelah Anda menghapus broker dari cluster, lihatTetapkan kembali partisi.
Anda dapat menghapus broker dari semua cluster MSK yang disediakan berbasis M5 dan M7g, terlepas dari ukuran instansnya.
Penghapusan broker didukung pada Kafka versi 2.8.1 dan yang lebih tinggi, termasuk pada cluster mode Kraft.
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 metrik kesehatan dan diagnostik cluster.
Anda dapat menggunakan API admin Kafka atau Cruise Control untuk memindahkan partisi ke broker lain yang ingin Anda pertahankan di cluster. Lihat Men etapkan 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 Membuat 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 di
topics.jsonpanggil pada 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 yang disebut
reassignment-file.jsondan salin perintah yangproposed partition reassignment configurationAnda dapatkan dari 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 sampai semua partisi dalam topik yang Anda minta telah 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 ulang 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 Konsol Manajemen
Untuk menghapus broker dengan AWS Konsol Manajemen
Buka konsol Amazon MSK di https://console.aws.amazon.com/msk/
. Pilih cluster MSK yang berisi broker yang ingin Anda hapus.
Pada halaman detail cluster, pilih tombol T indakan dan pilih opsi Edit jumlah broker.
Masukkan jumlah broker yang Anda inginkan untuk dimiliki cluster per Zona Ketersediaan. Konsol merangkum jumlah broker di seluruh zona ketersediaan yang akan dihapus. Pastikan ini 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 selengkapnya, Daftar cluster Amazon MSK. Ganti Current-Cluster-Version dengan versi cluster saat ini.
penting
Versi cluster bukanlah bilangan bulat sederhana. Untuk menemukan versi cluster saat ini, gunakan DescribeCluster operasi atau perintah describe-cluster KTVPDKIKX0DER.
Target-Number-of-BrokersParameter mewakili jumlah total node broker yang Anda inginkan untuk dimiliki cluster ketika operasi ini berhasil diselesaikan. 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 Zona Ketersediaan.
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 dalam cluster menggunakan API, lihat UpdateBrokerCount di Refer ensi API Amazon Managed Streaming untuk Apache Kafka.