View a markdown version of this page

Manajemen metadata - 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.

Manajemen metadata

Amazon MSK mendukung mode manajemen metadata Apache ZooKeeper atau Kraft.

Dari Apache Kafka versi 3.7.x di Amazon MSK, Anda dapat membuat cluster yang menggunakan mode Kraft alih-alih mode. ZooKeeper KRaft-based cluster bergantung pada pengontrol di dalam Kafka untuk mengelola metadata.

ZooKeeper mode

Apache ZooKeeper adalah “layanan terpusat untuk memelihara informasi konfigurasi, penamaan, menyediakan sinkronisasi terdistribusi, dan menyediakan layanan grup. Semua jenis layanan ini digunakan dalam beberapa bentuk atau lainnya oleh aplikasi terdistribusi,” termasuk Apache Kafka.

Jika cluster Anda menggunakan ZooKeeper mode, Anda dapat menggunakan langkah-langkah di bawah ini untuk mendapatkan string ZooKeeper koneksi Apache. Namun, kami sarankan Anda menggunakan BootstrapServerString untuk menyambung ke cluster dan operasi admin perfom karena --zookeeper bendera telah tidak digunakan lagi di Kafka 2.5 dan dihapus dari Kafka 3.0.

Mendapatkan string ZooKeeper koneksi Apache menggunakan Konsol Manajemen AWS

  1. Buka konsol Amazon MSK dihttps://console.aws.amazon.com/msk/.

  2. Tabel menunjukkan semua cluster untuk wilayah saat ini di bawah akun ini. Pilih nama cluster untuk melihat deskripsinya.

  3. Pada halaman Ringkasan Cluster, pilih Lihat informasi klien. Ini menunjukkan kepada Anda broker bootstrap, serta string ZooKeeper koneksi Apache.

Mendapatkan string ZooKeeper koneksi Apache menggunakan AWS CLI

  1. Jika Anda tidak mengetahui Nama Sumber Daya Amazon (ARN) cluster Anda, Anda dapat menemukannya dengan mencantumkan semua cluster di akun Anda. Untuk informasi selengkapnya, lihat Daftar cluster Amazon MSK.

  2. Untuk mendapatkan string ZooKeeper koneksi Apache, bersama dengan informasi lain tentang cluster Anda, jalankan perintah berikut, ganti ClusterArn dengan ARN cluster Anda.

    aws kafka describe-cluster --cluster-arn ClusterArn

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

    { "ClusterInfo": { "BrokerNodeGroupInfo": { "BrokerAZDistribution": "DEFAULT", "ClientSubnets": [ "subnet-0123456789abcdef0", "subnet-2468013579abcdef1", "subnet-1357902468abcdef2" ], "InstanceType": "kafka.m5.large", "StorageInfo": { "EbsStorageInfo": { "VolumeSize": 1000 } } }, "ClusterArn": "arn:aws:kafka:us-east-1:111122223333:cluster/testcluster/12345678-abcd-4567-2345-abcdef123456-2", "ClusterName": "testcluster", "CreationTime": "2018-12-02T17:38:36.75Z", "CurrentBrokerSoftwareInfo": { "KafkaVersion": "2.2.1" }, "CurrentVersion": "K13V1IB3VIYZZH", "EncryptionInfo": { "EncryptionAtRest": { "DataVolumeKMSKeyId": "arn:aws:kms:us-east-1:555555555555:key/12345678-abcd-2345-ef01-abcdef123456" } }, "EnhancedMonitoring": "DEFAULT", "NumberOfBrokerNodes": 3, "State": "ACTIVE", "ZookeeperConnectString": "10.0.1.101:2018,10.0.2.101:2018,10.0.3.101:2018" } }

    Contoh JSON sebelumnya menunjukkan ZookeeperConnectString kunci dalam output describe-cluster perintah. Salin nilai yang sesuai dengan kunci ini dan simpan untuk saat Anda perlu membuat topik di cluster Anda.

    penting

    Cluster Amazon MSK Anda harus berada dalam ACTIVE status agar Anda dapat memperoleh string ZooKeeper koneksi Apache. Ketika cluster masih dalam CREATING status, output dari describe-cluster perintah tidak termasukZookeeperConnectString. Jika ini masalahnya, tunggu beberapa menit dan kemudian jalankan describe-cluster lagi setelah cluster Anda mencapai ACTIVE status.

Mendapatkan string ZooKeeper koneksi Apache menggunakan API

Untuk mendapatkan string ZooKeeper koneksi Apache menggunakan API, lihat DescribeCluster.

Modus Kraft

Amazon MSK memperkenalkan dukungan untuk Kraft (Apache Kafka Raft) di Kafka versi 3.7.x. Komunitas Apache Kafka mengembangkan Kraft untuk menggantikan Apache ZooKeeper untuk manajemen metadata di cluster Apache Kafka. Dalam mode Kraft, metadata cluster disebarkan dalam kelompok pengontrol Kafka, yang merupakan bagian dari klaster Kafka, bukan lintas ZooKeeper node. Pengontrol Kraft disertakan tanpa biaya tambahan untuk Anda, dan tidak memerlukan pengaturan atau manajemen tambahan dari Anda. Lihat KIP-500 untuk informasi lebih lanjut tentang Kraft.

Berikut adalah beberapa poin yang perlu diperhatikan tentang mode Kraft di MSK:

  • Anda dapat memigrasikan ZooKeeper-based cluster yang ada ke mode Kraft menggunakan UpdateClusterKafkaVersion API. Untuk informasi selengkapnya, lihat Bermigrasi dari ZooKeeper ke mode Kraft.

  • Pada konsol MSK, Anda dapat membuat Kraft-based cluster dengan memilih Kafka versi 3.7.x dan memilih kotak centang Kraft di jendela pembuatan cluster.

  • Untuk membuat cluster dalam mode Kraft menggunakan MSK API CreateCluster atau CreateClusterV2 operasi, Anda harus menggunakan 3.7.x.kraft sebagai versi. Gunakan 3.7.x sebagai versi untuk membuat cluster dalam ZooKeeper mode.

  • Jumlah partisi per broker sama pada Kraft dan ZooKeeper cluster berbasis. Namun, Kraft memungkinkan Anda untuk meng-host lebih banyak partisi per cluster dengan menyediakan lebih banyak broker dalam sebuah cluster.

  • Tidak ada perubahan API yang diperlukan untuk menggunakan mode Kraft di Amazon MSK. Namun, jika klien Anda masih menggunakan string --zookeeper koneksi hari ini, Anda harus memperbarui klien Anda untuk menggunakan string --bootstrap-server koneksi untuk terhubung ke cluster Anda. --zookeeperBendera tidak digunakan lagi di Apache Kafka versi 2.5 dan dihapus dimulai dengan Kafka versi 3.0. Oleh karena itu kami sarankan Anda menggunakan versi klien Apache Kafka terbaru dan string --bootstrap-server koneksi untuk semua koneksi ke cluster Anda.

  • ZooKeeper mode terus tersedia untuk semua versi yang dirilis di mana zookeeper juga didukung oleh Apache Kafka. Lihat Versi Apache Kafka yang didukung untuk detail tentang akhir dukungan untuk versi Apache Kafka dan pembaruan di masa mendatang.

  • Anda harus memeriksa apakah alat apa pun yang Anda gunakan mampu menggunakan Kafka Admin API tanpa ZooKeeper koneksi. Lihat langkah-langkah Gunakan Cruise LinkedIn Control untuk Apache Kafka dengan Amazon MSK terbaru untuk menghubungkan cluster Anda ke Cruise Control. Cruise Control juga memiliki instruksi untuk menjalankan Cruise Control tanpa ZooKeeper.

  • Anda tidak perlu mengakses pengontrol Kraft cluster Anda secara langsung untuk tindakan administratif apa pun. Namun, jika Anda menggunakan pemantauan terbuka untuk mengumpulkan metrik, Anda juga memerlukan titik akhir DNS pengontrol Anda untuk mengumpulkan beberapa metrik terkait non-pengontrol tentang cluster Anda. Anda bisa mendapatkan titik akhir DNS ini dari Konsol MSK atau menggunakan operasi ListNodes API. Lihat langkah-langkah terbaru Memantau cluster yang disediakan MSK dengan Prometheus untuk menyiapkan pemantauan terbuka untuk KRaft-based cluster.

  • Tidak ada CloudWatch metrik tambahan yang perlu Anda pantau untuk cluster mode Kraft melalui kluster ZooKeeper mode. MSK mengelola pengontrol Kraft yang digunakan di cluster Anda.

  • Anda dapat terus mengelola ACL menggunakan klaster mode Kraft menggunakan string --bootstrap-server koneksi. Anda tidak boleh menggunakan string --zookeeper koneksi untuk mengelola ACL. Lihat ACL Apache Kafka.

  • Dalam mode Kraft, metadata cluster Anda disimpan pada pengontrol Kraft di dalam Kafka dan bukan ZooKeeper node eksternal. Oleh karena itu, Anda tidak perlu mengontrol akses ke node pengontrol secara terpisah seperti yang Anda lakukan dengan ZooKeeper node.