

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

# Konfigurasi Amazon MSK yang disediakan
<a name="msk-configuration"></a>

Amazon MSK menyediakan konfigurasi default untuk broker, topik, dan node metadata. Anda juga dapat membuat konfigurasi kustom dan menggunakannya untuk membuat cluster MSK baru atau untuk memperbarui cluster yang ada. Konfigurasi MSK terdiri dari satu set properti dan nilai yang sesuai. Bergantung pada jenis broker yang Anda gunakan di cluster Anda, ada serangkaian default konfigurasi yang berbeda dan serangkaian konfigurasi berbeda yang dapat Anda modifikasi. Lihat bagian di bawah ini untuk detail lebih lanjut tentang cara mengkonfigurasi pialang Standar dan Ekspres Anda.

**Topics**
+ [Konfigurasi pialang standar](msk-configuration-standard.md)
+ [Konfigurasi broker ekspres](msk-configuration-express.md)
+ [Operasi konfigurasi broker](msk-configuration-operations.md)

# Konfigurasi pialang standar
<a name="msk-configuration-standard"></a>

Bagian ini menjelaskan properti konfigurasi untuk pialang Standar.

**Topics**
+ [Konfigurasi MSK Amazon kustom](msk-configuration-properties.md)
+ [Konfigurasi MSK Amazon default](msk-default-configuration.md)
+ [Pedoman untuk konfigurasi tingkat topik penyimpanan berjenjang MSK Amazon](msk-guidelines-tiered-storage-topic-level-config.md)

# Konfigurasi MSK Amazon kustom
<a name="msk-configuration-properties"></a>

Anda dapat menggunakan Amazon MSK untuk membuat konfigurasi MSK kustom di mana Anda mengatur properti konfigurasi Apache Kafka berikut. Properti yang tidak Anda tetapkan secara eksplisit mendapatkan nilai yang mereka miliki. [Konfigurasi MSK Amazon default](msk-default-configuration.md) Untuk informasi selengkapnya tentang properti konfigurasi, lihat Konfigurasi [Apache Kafka](https://kafka.apache.org/documentation/#configuration).


| Nama | Deskripsi | 
| --- | --- | 
| allow.everyone.if.no.acl.found | Jika Anda ingin mengatur properti inifalse, pertama-tama pastikan Anda mendefinisikan Apache Kafka ACLs untuk cluster Anda. Jika Anda mengatur properti ini false dan Anda tidak mendefinisikan Apache Kafka terlebih dahulu ACLs, Anda kehilangan akses ke cluster. Jika itu terjadi, Anda dapat memperbarui konfigurasi lagi dan mengatur properti ini true untuk mendapatkan kembali akses ke cluster. | 
| auto.create.topics.enable | Mengaktifkan pembuatan otomatis topik di server. | 
| kompresi.type | Jenis kompresi akhir untuk topik tertentu. Anda dapat mengatur properti ini ke codec kompresi standar (gzip,, snappylz4, danzstd). Ini juga menerima. uncompressed Nilai ini setara dengan tidak ada kompresi. Jika Anda menetapkan nilainyaproducer, itu berarti mempertahankan codec kompresi asli yang ditetapkan oleh produsen. | 
|  koneksi.max.idle.ms  | Batas waktu koneksi idle dalam milidetik. Thread prosesor soket server menutup koneksi yang menganggur lebih dari nilai yang Anda tetapkan untuk properti ini. | 
| default.replication.factor | Faktor replikasi default untuk topik yang dibuat secara otomatis. | 
| delete.topic.enable | Mengaktifkan operasi menghapus topik. Jika Anda mematikan setelan ini, Anda tidak dapat menghapus topik melalui alat admin. | 
| group.initial.rebalance.delay.ms | Jumlah waktu koordinator grup menunggu lebih banyak konsumen data untuk bergabung dengan grup baru sebelum koordinator grup melakukan penyeimbangan ulang pertama. Penundaan yang lebih lama berarti berpotensi lebih sedikit penyeimbangan kembali, tetapi ini meningkatkan waktu sampai pemrosesan dimulai. | 
| group.max.session.timeout.ms | Batas waktu sesi maksimum untuk konsumen terdaftar. Batas waktu yang lebih lama memberi konsumen lebih banyak waktu untuk memproses pesan di antara detak jantung dengan mengorbankan waktu yang lebih lama untuk mendeteksi kegagalan. | 
| group.min.session.timeout.ms | Batas waktu sesi minimum untuk konsumen terdaftar. Batas waktu yang lebih pendek menghasilkan deteksi kegagalan yang lebih cepat dengan mengorbankan detak jantung konsumen yang lebih sering. Ini dapat membanjiri sumber daya broker. | 
| leader.imbalance.per.broker.percentage | Rasio ketidakseimbangan pemimpin diperbolehkan per broker. Pengontrol memicu saldo pemimpin jika melebihi nilai ini per broker. Nilai ini ditentukan dalam persentase. | 
| log.cleaner.delete.retention.ms | Jumlah waktu yang Anda inginkan Apache Kafka untuk menyimpan catatan yang dihapus. Nilai minimum adalah 0. | 
| log.cleaner.min.cleanable.ratio |  Properti konfigurasi ini dapat memiliki nilai antara 0 dan 1. Nilai ini menentukan seberapa sering pemadat log mencoba membersihkan log (jika pemadatan log diaktifkan). Secara default, Apache Kafka menghindari pembersihan log jika lebih dari 50% log telah dipadatkan. Rasio ini membatasi ruang maksimum yang terbuang log dengan duplikat (pada 50%, ini berarti paling banyak 50% dari log dapat berupa duplikat). Rasio yang lebih tinggi berarti pembersihan yang lebih sedikit dan lebih efisien, tetapi lebih banyak ruang yang terbuang di log.  | 
| log.cleanup.policy | Kebijakan pembersihan default untuk segmen di luar jendela retensi. Daftar kebijakan valid yang dipisahkan koma. Kebijakan yang valid adalah delete dancompact. Untuk klaster berkemampuan Penyimpanan Berjenjang, kebijakan yang valid hanya berlaku. delete | 
| log.flush.interval.messages | Jumlah pesan yang terakumulasi pada partisi log sebelum pesan dibuang ke disk. | 
| log.flush.interval.ms | Waktu maksimum dalam milidetik bahwa pesan dalam topik apa pun tetap dalam memori sebelum dibuang ke disk. Jika Anda tidak menetapkan nilai ini, nilai di log.flush.scheduler.interval.ms akan digunakan. Nilai minimum adalah 0. | 
| log.message.timestamp.difference.max.ms | Konfigurasi ini tidak digunakan lagi di Kafka 3.6.0. Dua konfigurasi, log.message.timestamp.before.max.ms danlog.message.timestamp.after.max.ms, telah ditambahkan. Perbedaan waktu maksimum antara stempel waktu ketika broker menerima pesan dan stempel waktu yang ditentukan dalam pesan. Jika log.message.timestamp.type=CreateTime, pesan ditolak jika perbedaan stempel waktu melebihi ambang batas ini. Konfigurasi ini diabaikan jika log.message.timestamp.type=. LogAppendTime | 
| log.message.timestamp.type | Menentukan apakah stempel waktu dalam pesan adalah waktu pembuatan pesan atau log menambahkan waktu. Nilai yang diizinkan adalah CreateTime danLogAppendTime. | 
| log.retention.bytes | Ukuran maksimum log sebelum menghapusnya. | 
| log.retention.hours | Jumlah jam untuk menyimpan file log sebelum menghapusnya, tersier ke properti log.retention.ms. | 
| log.retention.minutes | Jumlah menit untuk menyimpan file log sebelum menghapusnya, sekunder ke properti log.retention.ms. Jika Anda tidak menetapkan nilai ini, nilai dalam log.retention.hours akan digunakan. | 
| log.retention.ms | Jumlah milidetik untuk menyimpan file log sebelum menghapusnya (dalam milidetik), Jika tidak disetel, nilai dalam log.retention.minutes digunakan. | 
| log.roll.ms | Waktu maksimum sebelum segmen log baru diluncurkan (dalam milidetik). Jika Anda tidak menyetel properti ini, nilai di log.roll.hours digunakan. Nilai minimum yang mungkin untuk properti ini adalah 1. | 
| log.segment.bytes | Ukuran maksimum dari satu file log. | 
| max.incremental.fetch.session.cache.slots | Jumlah maksimum sesi pengambilan inkremental yang dipertahankan. | 
| message.max.bytes |  Ukuran batch rekor terbesar yang diizinkan Kafka. Jika Anda meningkatkan nilai ini dan ada konsumen yang lebih tua dari 0.10.2, Anda juga harus meningkatkan ukuran pengambilan konsumen sehingga mereka dapat mengambil batch rekaman sebesar ini. Versi format pesan terbaru selalu mengelompokkan pesan ke dalam batch untuk efisiensi. Versi format pesan sebelumnya tidak mengelompokkan catatan yang tidak terkompresi ke dalam batch, dan dalam kasus seperti itu, batas ini hanya berlaku untuk satu rekaman. Anda dapat mengatur nilai ini per topik dengan konfigurasi max.message.bytes level topik.  | 
| min.insync.replika |  Ketika produser menetapkan acks ke `"all"` (or`"-1"`), nilai dalam min.insync.replicas menentukan jumlah minimum replika yang harus mengakui penulisan agar penulisan dianggap berhasil. Jika minimum ini tidak dapat dipenuhi, produsen menimbulkan pengecualian (salah satu NotEnoughReplicas atau NotEnoughReplicasAfterAppend). Anda dapat menggunakan nilai di min.insync.replicas dan acks untuk menerapkan jaminan daya tahan yang lebih besar. Misalnya, Anda dapat membuat topik dengan faktor replikasi 3, mengatur min.insync.replicas ke 2, dan menghasilkan dengan acks of. `"all"` Ini memastikan bahwa produser memunculkan pengecualian jika sebagian besar replika tidak menerima penulisan.  | 
| num.io.thread | Jumlah thread yang digunakan server untuk memproses permintaan, yang mungkin termasuk disk I/O. | 
| num.network.threads | Jumlah thread yang digunakan server untuk menerima permintaan dari jaringan dan mengirim tanggapan ke sana. | 
| num.partisi | Jumlah default partisi log per topik. | 
| num.recovery.threads.per.data.dir | Jumlah thread per direktori data yang akan digunakan untuk memulihkan log saat startup dan dan untuk flush mereka saat shutdown. | 
| num.replica.fetchers | Jumlah utas fetcher yang digunakan untuk mereplikasi pesan dari broker sumber. Jika Anda meningkatkan nilai ini, Anda dapat meningkatkan tingkat I/O paralelisme di broker pengikut. | 
| offsets.retention.minutes | Setelah kelompok konsumen kehilangan semua konsumennya (yaitu, menjadi kosong) offsetnya disimpan untuk periode retensi ini sebelum dibuang. Untuk konsumen mandiri (yaitu, mereka yang menggunakan penugasan manual), offset kedaluwarsa setelah waktu komit terakhir ditambah periode retensi ini. | 
| offsets.topic.replication.factor | Faktor replikasi untuk topik offset. Tetapkan nilai ini lebih tinggi untuk memastikan ketersediaan. Pembuatan topik internal gagal hingga ukuran cluster memenuhi persyaratan faktor replikasi ini. | 
| replica.fetch.max.bytes | Jumlah byte pesan untuk mencoba untuk mengambil untuk setiap partisi. Ini bukan maksimum absolut. Jika kumpulan rekaman pertama di partisi pengambilan yang tidak kosong pertama lebih besar dari nilai ini, kumpulan rekaman dikembalikan untuk memastikan kemajuan. Message.max.bytes (konfigurasi broker) atau max.message.bytes (konfigurasi topik) mendefinisikan ukuran batch rekaman maksimum yang diterima broker. | 
| replica.fetch.response.max.bytes | Jumlah maksimum byte yang diharapkan untuk seluruh respons pengambilan. Rekaman diambil dalam batch, dan jika kumpulan rekaman pertama di partisi pengambilan yang tidak kosong pertama lebih besar dari nilai ini, kumpulan rekaman akan tetap dikembalikan untuk memastikan kemajuan. Ini bukan maksimum absolut. Properti message.max.bytes (broker config) atau max.message.bytes (topic config) menentukan ukuran batch record maksimum yang diterima broker. | 
| replica.lag.time.max.ms | Jika pengikut belum mengirim permintaan pengambilan atau belum menghabiskan hingga offset akhir log pemimpin setidaknya dalam jumlah milidetik ini, pemimpin akan menghapus pengikut dari ISR.MinValue: 10000MaxValue = 30000 | 
| replica.selector.class | Nama kelas yang sepenuhnya memenuhi syarat yang mengimplementasikan. ReplicaSelector Broker menggunakan nilai ini untuk menemukan replika baca yang disukai. Jika Anda menggunakan Apache Kafka versi 2.4.1 atau lebih tinggi, dan ingin mengizinkan konsumen mengambil dari replika terdekat, atur properti ini ke. org.apache.kafka.common.replica.RackAwareReplicaSelector Untuk informasi selengkapnya, lihat [Apache Kafka versi 2.4.1 (gunakan 2.4.1.1 sebagai gantinya)](supported-kafka-versions.md#2.4.1). | 
| replica.socket.receive.buffer.bytes | Soket menerima buffer untuk permintaan jaringan. | 
| socket.receive.buffer.bytes | Buffer SO\$1RCVBUF dari soket server soket. Nilai minimum yang dapat Anda atur untuk properti ini adalah -1. Jika nilainya -1, Amazon MSK menggunakan default OS. | 
| socket.request.max.bytes | Jumlah maksimum byte dalam permintaan soket. | 
| socket.send.buffer.bytes | Buffer SO\$1SNDBUF dari soket server soket. Nilai minimum yang dapat Anda atur untuk properti ini adalah -1. Jika nilainya -1, Amazon MSK menggunakan default OS. | 
| transaksi.max.timeout.ms | Batas waktu maksimum untuk transaksi. Jika waktu transaksi yang diminta dari klien melebihi nilai ini, broker mengembalikan kesalahan InitProducerIdRequest. Ini mencegah klien dari batas waktu yang terlalu besar, dan ini dapat menghambat konsumen yang membaca dari topik yang termasuk dalam transaksi. | 
| transaction.state.log.min.isr | Mengganti konfigurasi min.insync.replicas untuk topik transaksi. | 
| transaction.state.log.replication.factor | Faktor replikasi untuk topik transaksi. Tetapkan properti ini ke nilai yang lebih tinggi untuk meningkatkan ketersediaan. Pembuatan topik internal gagal hingga ukuran cluster memenuhi persyaratan faktor replikasi ini. | 
| transactional.id.expiration.ms | Waktu dalam milidetik koordinator transaksi menunggu untuk menerima pembaruan status transaksi untuk transaksi saat ini sebelum koordinator kedaluwarsa ID transaksionalnya. Pengaturan ini juga memengaruhi kedaluwarsa ID produsen karena menyebabkan produser IDs kedaluwarsa ketika waktu ini berlalu setelah penulisan terakhir dengan ID produser yang diberikan. Produser IDs mungkin kedaluwarsa lebih cepat jika penulisan terakhir dari ID produsen dihapus karena pengaturan retensi untuk topik tersebut. Nilai minimum untuk properti ini adalah 1 milidetik. | 
| unclean.leader.election.enable | Menunjukkan jika replika yang tidak ada dalam set ISR harus berfungsi sebagai pemimpin sebagai upaya terakhir, meskipun ini dapat mengakibatkan hilangnya data. | 
| zookeeper.connection.timeout.ms | ZooKeeper kluster mode. Waktu maksimum yang ditunggu klien untuk membuat koneksi. ZooKeeper Jika Anda tidak menyetel nilai ini, nilai di zookeeper.session.timeout.ms digunakan. MinValue = 6000 MaxValue (inklusif) = 18000 Kami menyarankan Anda menetapkan nilai ini ke 10.000 di T3.small untuk menghindari downtime cluster.  | 
| zookeeper.session.timeout.ms |  ZooKeeper kluster mode. Batas waktu ZooKeeper sesi Apache dalam milidetik. MinValue = 6000 MaxValue (inklusif) = 18000  | 

Untuk mempelajari cara membuat konfigurasi MSK kustom, daftar semua konfigurasi, atau jelaskan, lihat. [Operasi konfigurasi broker](msk-configuration-operations.md) Untuk membuat klaster MSK dengan konfigurasi MSK kustom, atau untuk memperbarui cluster dengan konfigurasi kustom baru, lihat. [Fitur dan konsep utama MSK Amazon](operations.md)

Saat Anda memperbarui klaster MSK yang ada dengan konfigurasi MSK khusus, Amazon MSK melakukan rolling restart bila diperlukan, dan menggunakan praktik terbaik untuk meminimalkan waktu henti pelanggan. Misalnya, setelah Amazon MSK memulai ulang setiap broker, Amazon MSK mencoba membiarkan broker menangkap data yang mungkin terlewatkan oleh broker selama pembaruan konfigurasi sebelum pindah ke broker berikutnya.

## Konfigurasi MSK Amazon dinamis
<a name="msk-dynamic-confinguration"></a>

Selain properti konfigurasi yang disediakan Amazon MSK, Anda dapat secara dinamis mengatur properti konfigurasi tingkat klaster dan tingkat broker yang tidak memerlukan restart broker. Anda dapat secara dinamis mengatur beberapa properti konfigurasi. Ini adalah properti yang tidak ditandai sebagai hanya-baca dalam tabel di bawah [Konfigurasi Broker](https://kafka.apache.org/documentation/#brokerconfigs) dalam dokumentasi Apache Kafka. Untuk informasi tentang konfigurasi dinamis dan perintah contoh, lihat [Memperbarui Konfigurasi Broker dalam dokumentasi](https://kafka.apache.org/documentation/#dynamicbrokerconfigs) Apache Kafka.

**catatan**  
Anda dapat mengatur `advertised.listeners` properti, tetapi bukan `listeners` properti.

## Konfigurasi MSK Amazon tingkat topik
<a name="msk-topic-confinguration"></a>

Anda dapat menggunakan perintah Apache Kafka untuk mengatur atau memodifikasi properti konfigurasi tingkat topik untuk topik baru dan yang sudah ada. Untuk informasi selengkapnya tentang properti konfigurasi tingkat topik dan contoh tentang cara mengaturnya, lihat [Konfigurasi Tingkat Topik dalam dokumentasi Apache Kafka](https://kafka.apache.org/documentation/#topicconfigs).

# Konfigurasi MSK Amazon default
<a name="msk-default-configuration"></a>

Bila Anda membuat kluster MSK dan tidak menentukan konfigurasi MSK kustom, Amazon MSK membuat dan menggunakan konfigurasi default dengan nilai yang ditunjukkan dalam tabel berikut. Untuk properti yang tidak ada dalam tabel ini, Amazon MSK menggunakan default yang terkait dengan versi Apache Kafka Anda. Untuk daftar nilai default ini, lihat Konfigurasi [Apache Kafka](https://kafka.apache.org/documentation/#configuration). 


| Nama | Deskripsi | Nilai default untuk cluster penyimpanan tidak berjenjang | Nilai default untuk cluster berkemampuan penyimpanan berjenjang | 
| --- | --- | --- | --- | 
| allow.everyone.if.no.acl.found | Jika tidak ada pola sumber daya yang cocok dengan sumber daya tertentu, sumber daya tidak terkait ACLs. Dalam hal ini, jika Anda menyetel properti initrue, semua pengguna dapat mengakses sumber daya, bukan hanya pengguna super. | true | true | 
| auto.create.topics.enable | Mengaktifkan pembuatan otomatis topik di server. | false | false | 
| auto.leader.rebalance.enable | Memungkinkan penyeimbangan pemimpin otomatis. Benang latar belakang memeriksa dan memulai keseimbangan pemimpin secara berkala, jika perlu. | true | true | 
| default.replication.factor | Faktor replikasi default untuk topik yang dibuat secara otomatis. | 3 untuk cluster di 3 Availability Zone, dan 2 untuk cluster di 2 Availability Zone. | 3 untuk cluster di 3 Availability Zone, dan 2 untuk cluster di 2 Availability Zone. | 
|  local.retention.bytes  |  Ukuran maksimum segmen log lokal untuk partisi sebelum menghapus segmen lama. Jika Anda tidak menetapkan nilai ini, nilai dalam log.retention.bytes digunakan. Nilai efektif harus selalu kurang dari atau sama dengan nilai log.retention.bytes. Nilai default -2 menunjukkan bahwa tidak ada batasan retensi lokal. Ini sesuai dengan pengaturan retensi.ms/bytes -1. Properti local.retention.ms dan local.retention.bytes mirip dengan log.retention karena digunakan untuk menentukan berapa lama segmen log harus tetap berada di penyimpanan lokal. Konfigurasi log.retention.\$1 yang ada adalah konfigurasi retensi untuk partisi topik. Ini termasuk penyimpanan lokal dan jarak jauh. Nilai yang valid: bilangan bulat di [-2; \$1Inf]  | -2 untuk tak terbatas | -2 untuk tak terbatas | 
|  local.retention.ms  | Jumlah milidetik untuk mempertahankan segmen log lokal sebelum penghapusan. Jika Anda tidak menetapkan nilai ini, Amazon MSK menggunakan nilai di log.retention.ms. Nilai efektif harus selalu kurang dari atau sama dengan nilai log.retention.bytes. Nilai default -2 menunjukkan bahwa tidak ada batasan retensi lokal. Ini sesuai dengan pengaturan retensi.ms/bytes -1.Nilai local.retention.ms dan local.retention.bytes mirip dengan log.retention. MSK menggunakan konfigurasi ini untuk menentukan berapa lama segmen log harus tetap berada di penyimpanan lokal. Konfigurasi log.retention.\$1 yang ada adalah konfigurasi retensi untuk partisi topik. Ini termasuk penyimpanan lokal dan jarak jauh. Nilai yang valid adalah bilangan bulat yang lebih besar dari 0. | -2 untuk tak terbatas | -2 untuk tak terbatas | 
|  log.message.timestamp.difference.max.ms  | Konfigurasi ini tidak digunakan lagi di Kafka 3.6.0. Dua konfigurasi, log.message.timestamp.before.max.ms danlog.message.timestamp.after.max.ms, telah ditambahkan. Perbedaan maksimum yang diperbolehkan antara stempel waktu ketika broker menerima pesan dan stempel waktu yang ditentukan dalam pesan. Jika log.message.timestamp.type=CreateTime, pesan akan ditolak jika perbedaan stempel waktu melebihi ambang batas ini. Konfigurasi ini diabaikan jika log.message.timestamp.type=. LogAppendTime Perbedaan stempel waktu maksimum yang diizinkan tidak boleh lebih besar dari log.retention.ms untuk menghindari penggulungan log yang tidak perlu sering. | 9223372036854775807 | 86400000 untuk Kafka 2.8.2.tiered dan Kafka 3.7.x berjenjang. | 
| log.segment.bytes | Ukuran maksimum dari satu file log. | 1073741824 | 134217728 | 
| min.insync.replika |  Ketika produsen menetapkan nilai acks (produser pengakuan mendapat dari broker Kafka) ke `"all"` (atau`"-1"`), nilai dalam min.insync.replicas menentukan jumlah minimum replika yang harus mengakui penulisan agar penulisan dianggap berhasil. Jika nilai ini tidak memenuhi minimum ini, produsen memunculkan pengecualian (salah satu NotEnoughReplicas atau NotEnoughReplicasAfterAppend). Saat Anda menggunakan nilai di min.insync.replicas dan acks bersama-sama, Anda dapat menerapkan jaminan daya tahan yang lebih besar. Misalnya, Anda dapat membuat topik dengan faktor replikasi 3, mengatur min.insync.replicas ke 2, dan menghasilkan dengan acks of. `"all"` Ini memastikan bahwa produser memunculkan pengecualian jika sebagian besar replika tidak menerima penulisan.  | 2 untuk cluster di 3 Availability Zone, dan 1 untuk cluster di 2 Availability Zone. | 2 untuk cluster di 3 Availability Zone, dan 1 untuk cluster di 2 Availability Zone. | 
| num.io.thread | Jumlah thread yang digunakan server untuk menghasilkan permintaan, yang mungkin termasuk disk I/O. | 8 | max (8, vCPUs) dimana v CPUs tergantung pada ukuran instance broker | 
| num.network.threads | Jumlah thread yang digunakan server untuk menerima permintaan dari jaringan dan mengirim tanggapan ke jaringan. | 5 | max (5, CPUs v/ 2) dimana v CPUs tergantung pada ukuran instance broker | 
| num.partisi | Jumlah default partisi log per topik. | 1 | 1 | 
| num.replica.fetchers | Jumlah utas fetcher yang digunakan untuk mereplikasi pesan dari broker sumber.Jika Anda meningkatkan nilai ini, Anda dapat meningkatkan tingkat I/O paralelisme di broker pengikut. | 2 | max (2, CPUs v/ 4) dimana v CPUs tergantung pada ukuran instance broker | 
|  remote.log.msk.disable.policy  |  Digunakan dengan remote.storage.enable untuk menonaktifkan penyimpanan berjenjang. Setel kebijakan ini ke Hapus, untuk menunjukkan bahwa data dalam penyimpanan berjenjang dihapus saat Anda menyetel remote.storage.enable ke false.  | N/A | Tidak ada | 
| remote.log.reader.threads | Ukuran kumpulan utas pembaca log jarak jauh, yang digunakan dalam tugas penjadwalan untuk mengambil data dari penyimpanan jarak jauh. | N/A | max (10, v CPUs \$1 0.67) dimana v CPUs tergantung pada ukuran instance broker | 
|  remote.storage.enable  | Mengaktifkan penyimpanan berjenjang (jarak jauh) untuk topik jika disetel ke true. Menonaktifkan penyimpanan berjenjang tingkat topik jika disetel ke false dan remote.log.msk.disable.policy disetel ke Hapus. Saat Anda menonaktifkan penyimpanan berjenjang, Anda menghapus data dari penyimpanan jarak jauh. Saat Anda menonaktifkan penyimpanan berjenjang untuk suatu topik, Anda tidak dapat mengaktifkannya lagi. | false | false | 
| replica.lag.time.max.ms | Jika pengikut belum mengirim permintaan pengambilan atau belum menghabiskan hingga offset akhir log pemimpin setidaknya dalam jumlah milidetik ini, pemimpin akan menghapus pengikut dari ISR. | 30000 | 30000 | 
|  retensi.ms  |  Bidang wajib. Waktu minimum adalah 3 hari. Tidak ada default karena pengaturannya wajib. Amazon MSK menggunakan nilai retention.ms dengan local.retention.ms untuk menentukan kapan data berpindah dari penyimpanan lokal ke penyimpanan berjenjang. Nilai local.retention.ms menentukan kapan harus memindahkan data dari penyimpanan lokal ke berjenjang. Nilai retention.ms menentukan kapan harus menghapus data dari penyimpanan berjenjang (yaitu, dihapus dari cluster). Nilai yang valid: bilangan bulat di [-1; \$1Inf]  | Minimum 259.200.000 milidetik (3 hari). -1 untuk retensi tak terbatas. | Minimum 259.200.000 milidetik (3 hari). -1 untuk retensi tak terbatas. | 
| socket.receive.buffer.bytes | Buffer SO\$1RCVBUF dari soket pemutus soket. Jika nilainya -1, default OS digunakan. | 102400 | 102400 | 
| socket.request.max.bytes | Jumlah maksimum byte dalam permintaan soket. | 104857600 | 104857600 | 
| socket.send.buffer.bytes | Buffer SO\$1SNDBUF dari soket pemutus soket. Jika nilainya -1, default OS digunakan. | 102400 | 102400 | 
| unclean.leader.election.enable | Menunjukkan jika Anda ingin replika yang tidak ada dalam set ISR untuk berfungsi sebagai pemimpin sebagai upaya terakhir, meskipun ini dapat mengakibatkan kehilangan data. | true | SALAH | 
| zookeeper.session.timeout.ms |  Batas waktu ZooKeeper sesi Apache dalam milidetik.  | 18000 | 18000 | 
| zookeeper.set.acl | Klien yang ditetapkan untuk menggunakan aman ACLs. | false | false | 

Untuk informasi tentang cara menentukan nilai konfigurasi kustom, lihat[Konfigurasi MSK Amazon kustom](msk-configuration-properties.md).

# Pedoman untuk konfigurasi tingkat topik penyimpanan berjenjang MSK Amazon
<a name="msk-guidelines-tiered-storage-topic-level-config"></a>

Berikut ini adalah pengaturan dan batasan default saat Anda mengonfigurasi penyimpanan berjenjang di tingkat topik.
+ Amazon MSK tidak mendukung ukuran segmen log yang lebih kecil untuk topik dengan penyimpanan berjenjang diaktifkan. Jika Anda ingin membuat segmen, ada ukuran segmen log minimum 48 MiB, atau waktu roll segmen minimum 10 menit. Nilai-nilai ini dipetakan ke properti segment.bytes dan segment.ms.
+ Nilai local.retention. ms/bytes can't equal or exceed the retention.ms/bytes. Ini adalah pengaturan retensi penyimpanan berjenjang.
+ Nilai default untuk untuk local.retention. ms/bytes is -2. This means that the retention.ms value is used for local.retention.ms/bytes. Dalam hal ini, data tetap berada di penyimpanan lokal dan penyimpanan berjenjang (masing-masing satu salinan), dan semuanya kedaluwarsa bersama. Untuk opsi ini, salinan data lokal disimpan ke penyimpanan jarak jauh. Dalam hal ini, data yang dibaca dari lalu lintas konsumsi berasal dari penyimpanan lokal.
+ Nilai default untuk retention.ms adalah 7 hari. Tidak ada batasan ukuran default untuk retention.bytes.
+ Nilai minimum untuk retention.ms/bytes adalah -1. Ini berarti retensi tak terbatas.
+ Nilai minimum untuk local.retention. ms/bytes is -2. This means infinite retention for local storage. It matches with the retention.ms/bytespengaturan sebagai -1.
+ Retensi konfigurasi tingkat topik.ms wajib untuk topik dengan penyimpanan berjenjang diaktifkan. Retensi minimum.ms adalah 3 hari.

Untuk informasi lebih lanjut tentang batasan penyimpanan berjenjang, lihat. [Kendala dan batasan penyimpanan berjenjang untuk cluster MSK Amazon](msk-tiered-storage.md#msk-tiered-storage-constraints)

# Konfigurasi broker ekspres
<a name="msk-configuration-express"></a>

Apache Kafka memiliki ratusan konfigurasi broker yang dapat Anda gunakan untuk menyesuaikan kinerja cluster MSK Provisioned Anda. Menetapkan nilai yang salah atau sub-optimal dapat memengaruhi keandalan dan kinerja cluster. Broker ekspres meningkatkan ketersediaan dan daya tahan klaster MSK Provisioned Anda dengan menetapkan nilai optimal untuk konfigurasi kritis dan melindunginya dari kesalahan konfigurasi umum. Ada tiga kategori konfigurasi berdasarkan akses baca dan tulis: [baca/tulis (dapat diedit)](msk-configuration-express-read-write.md), [hanya baca, dan konfigurasi non-baca/tulis](msk-configuration-express-read-only.md). Beberapa konfigurasi masih menggunakan nilai default Apache Kafka untuk versi Apache Kafka yang sedang dijalankan cluster. Kami menandainya sebagai Apache Kafka Default.

**Topics**
+ [Konfigurasi broker MSK Express kustom (Akses Baca/Tulis)](msk-configuration-express-read-write.md)
+ [Konfigurasi hanya-baca broker ekspres](msk-configuration-express-read-only.md)

# Konfigurasi broker MSK Express kustom (Akses Baca/Tulis)
<a name="msk-configuration-express-read-write"></a>

Anda dapat memperbarui konfigurasi read/write broker baik dengan menggunakan [fitur konfigurasi pembaruan](msk-update-cluster-config.md) Amazon MSK atau menggunakan API Apache Kafka. AlterConfig Konfigurasi broker Apache Kafka bersifat statis atau dinamis. Konfigurasi statis memerlukan broker restart untuk konfigurasi yang akan diterapkan, sementara konfigurasi dinamis tidak memerlukan broker restart. Untuk informasi selengkapnya tentang properti konfigurasi dan mode pembaruan, lihat [Memperbarui konfigurasi broker](https://kafka.apache.org/documentation/#dynamicbrokerconfigs).

**Topics**
+ [Konfigurasi statis pada broker MSK Express](#msk-configuration-express-static-configuration)
+ [Konfigurasi dinamis pada Broker Ekspres](#msk-configuration-express-dynamic-configuration)
+ [Konfigurasi tingkat topik pada Broker Ekspres](#msk-configuration-express-topic-configuration)

## Konfigurasi statis pada broker MSK Express
<a name="msk-configuration-express-static-configuration"></a>

Anda dapat menggunakan Amazon MSK untuk membuat file konfigurasi MSK kustom untuk mengatur properti statis berikut. Amazon MSK menetapkan dan mengelola semua properti lain yang tidak Anda atur. Anda dapat membuat dan memperbarui file konfigurasi statis dari konsol MSK atau menggunakan perintah [konfigurasi.](msk-configuration-operations-create.md)


| Properti | Deskripsi | nilai default | 
| --- | --- | --- | 
|  allow.everyone.if.no.acl.found  |  Jika Anda ingin mengatur properti ini ke false, pertama-tama pastikan Anda mendefinisikan Apache Kafka ACLs untuk cluster Anda. Jika Anda menyetel properti ini ke false dan Anda tidak mendefinisikan Apache Kafka terlebih dahulu ACLs, Anda kehilangan akses ke cluster. Jika itu terjadi, Anda dapat memperbarui konfigurasi lagi dan mengatur properti ini ke true untuk mendapatkan kembali akses ke cluster.  |  true  | 
|  auto.create.topics.enable  |  Mengaktifkan pembuatan otomatis topik di server.  |  false  | 
| kompresi.type |  Tentukan jenis kompresi akhir untuk topik tertentu. Konfigurasi ini menerima codec kompresi standar: gzip, snappy, lz4, zstd. Konfigurasi ini juga menerima`uncompressed`, yang setara dengan tidak ada kompresi; dan`producer`, yang berarti mempertahankan codec kompresi asli yang ditetapkan oleh produsen. | Apache Kafka Standar | 
|  koneksi.max.idle.ms  |  Batas waktu koneksi idle dalam milidetik. Thread prosesor soket server menutup koneksi yang menganggur lebih dari nilai yang Anda tetapkan untuk properti ini.  |  Apache Kafka Standar  | 
|  delete.topic.enable  |  Mengaktifkan operasi menghapus topik. Jika Anda mematikan setelan ini, Anda tidak dapat menghapus topik melalui alat admin.  |  Apache Kafka Standar  | 
|  group.initial.rebalance.delay.ms  |   Jumlah waktu koordinator grup menunggu lebih banyak konsumen data untuk bergabung dengan grup baru sebelum koordinator grup melakukan penyeimbangan ulang pertama. Penundaan yang lebih lama berarti berpotensi lebih sedikit penyeimbangan kembali, tetapi ini meningkatkan waktu sampai pemrosesan dimulai.  |  Apache Kafka Standar  | 
|  group.max.session.timeout.ms  |  Batas waktu sesi maksimum untuk konsumen terdaftar. Batas waktu yang lebih lama memberi konsumen lebih banyak waktu untuk memproses pesan di antara detak jantung dengan mengorbankan waktu yang lebih lama untuk mendeteksi kegagalan.  |  Apache Kafka Standar  | 
|  leader.imbalance.per.broker.percentage  |  Rasio ketidakseimbangan pemimpin diperbolehkan per broker. Pengontrol memicu saldo pemimpin jika melebihi nilai ini per broker. Nilai ini ditentukan dalam persentase.  |  Apache Kafka Standar  | 
| log.cleanup.policy | Kebijakan pembersihan default untuk segmen di luar jendela retensi. Daftar kebijakan valid yang dipisahkan koma. Kebijakan yang valid adalah delete dancompact. Untuk klaster berkemampuan penyimpanan berjenjang, kebijakan yang valid hanya berlaku. delete | Apache Kafka Standar | 
| log.message.timestamp.after.max.ms |  Perbedaan stempel waktu yang diijinkan antara stempel waktu pesan dan stempel waktu broker. Stempel waktu pesan bisa lebih lambat atau sama dengan stempel waktu broker, dengan selisih maksimum yang diijinkan ditentukan oleh nilai yang ditetapkan dalam konfigurasi ini. Jika`log.message.timestamp.type=CreateTime`, pesan akan ditolak jika perbedaan stempel waktu melebihi ambang batas yang ditentukan ini. Konfigurasi ini diabaikan jika`log.message.timestamp.type=LogAppendTime`.  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, yaitu, 1 hari) | 
| log.message.timestamp.before.max.ms |  Perbedaan stempel waktu yang diijinkan antara stempel waktu broker dan stempel waktu pesan. Stempel waktu pesan dapat lebih awal dari atau sama dengan stempel waktu broker, dengan perbedaan maksimum yang diijinkan ditentukan oleh nilai yang ditetapkan dalam konfigurasi ini. Jika`log.message.timestamp.type=CreateTime`, pesan akan ditolak jika perbedaan stempel waktu melebihi ambang batas yang ditentukan ini. Konfigurasi ini diabaikan jika`log.message.timestamp.type=LogAppendTime`.  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, yaitu, 1 hari) | 
| log.message.timestamp.type | Menentukan apakah stempel waktu dalam pesan adalah waktu pembuatan pesan atau log menambahkan waktu. Nilai yang diizinkan adalah CreateTime danLogAppendTime. | Apache Kafka Standar | 
| log.retention.bytes | Ukuran maksimum log sebelum menghapusnya. | Apache Kafka Standar | 
| log.retention.ms | Jumlah milidetik untuk menyimpan file log sebelum menghapusnya. | Apache Kafka Standar | 
| max.connections.per.ip | Jumlah maksimum koneksi yang diizinkan dari setiap alamat IP. Ini dapat diatur ke 0 jika ada penggantian yang dikonfigurasi menggunakan properti. max.connections.per.ip.overrides Koneksi baru dari alamat IP dijatuhkan jika batas tercapai. | Apache Kafka Standar | 
|  max.incremental.fetch.session.cache.slots  |  Jumlah maksimum sesi pengambilan inkremental yang dipertahankan.  |  Apache Kafka Standar  | 
| message.max.bytes |  Ukuran batch rekor terbesar yang diizinkan Kafka. Jika Anda meningkatkan nilai ini dan ada konsumen yang lebih tua dari 0.10.2, Anda juga harus meningkatkan ukuran pengambilan konsumen sehingga mereka dapat mengambil batch rekaman sebesar ini. Versi format pesan terbaru selalu mengelompokkan pesan ke dalam batch untuk efisiensi. Versi format pesan sebelumnya tidak mengelompokkan catatan yang tidak terkompresi ke dalam batch, dan dalam kasus seperti itu, batas ini hanya berlaku untuk satu rekaman. Anda dapat mengatur nilai ini per topik dengan `max.message.bytes` konfigurasi tingkat topik.  | Apache Kafka Standar | 
|  num.partisi  |  Jumlah partisi default per topik.  |  1  | 
|  offsets.retention.minutes  |  Setelah kelompok konsumen kehilangan semua konsumennya (yaitu, menjadi kosong) offsetnya disimpan untuk periode retensi ini sebelum dibuang. Untuk konsumen mandiri (yaitu, mereka yang menggunakan penugasan manual), offset kedaluwarsa setelah waktu komit terakhir ditambah periode retensi ini.  |  Apache Kafka Standar  | 
|  replica.fetch.max.bytes  |  Jumlah byte pesan untuk mencoba untuk mengambil untuk setiap partisi. Ini bukan maksimum absolut. Jika kumpulan rekaman pertama di partisi pengambilan yang tidak kosong pertama lebih besar dari nilai ini, kumpulan rekaman dikembalikan untuk memastikan kemajuan. Message.max.bytes (konfigurasi broker) atau max.message.bytes (konfigurasi topik) mendefinisikan ukuran batch rekaman maksimum yang diterima broker.  |  Apache Kafka Standar  | 
|  replica.selector.class  |  Nama kelas yang sepenuhnya memenuhi syarat yang mengimplementasikan. ReplicaSelector Broker menggunakan nilai ini untuk menemukan replika baca yang disukai. Jika Anda ingin mengizinkan konsumen mengambil dari replika terdekat, setel properti ini ke. `org.apache.kafka.common.replica.RackAwareReplicaSelector`  |  Apache Kafka Standar  | 
|  socket.receive.buffer.bytes  |  Buffer SO\$1RCVBUF dari soket pemutus soket. Jika nilainya -1, default OS digunakan.  |  102400  | 
|  socket.request.max.bytes  |  Jumlah maksimum byte dalam permintaan soket.  |  104857600  | 
|  socket.send.buffer.bytes  |  Buffer SO\$1SNDBUF dari soket pemutus soket. Jika nilainya -1, default OS digunakan.  |  102400  | 
|  transaksi.max.timeout.ms  |  Batas waktu maksimum untuk transaksi. Jika waktu transaksi yang diminta dari klien melebihi nilai ini, broker mengembalikan kesalahan InitProducerIdRequest. Ini mencegah klien dari batas waktu yang terlalu besar, dan ini dapat menghambat konsumen yang membaca dari topik yang termasuk dalam transaksi.  |  Apache Kafka Standar  | 
|  transactional.id.expiration.ms  |  Waktu dalam milidetik koordinator transaksi menunggu untuk menerima pembaruan status transaksi untuk transaksi saat ini sebelum koordinator kedaluwarsa ID transaksionalnya. Pengaturan ini juga memengaruhi kedaluwarsa ID produsen karena menyebabkan produser IDs kedaluwarsa ketika waktu ini berlalu setelah penulisan terakhir dengan ID produser yang diberikan. Produser IDs mungkin kedaluwarsa lebih cepat jika penulisan terakhir dari ID produsen dihapus karena pengaturan retensi untuk topik tersebut. Nilai minimum untuk properti ini adalah 1 milidetik.  |  Apache Kafka Standar  | 

## Konfigurasi dinamis pada Broker Ekspres
<a name="msk-configuration-express-dynamic-configuration"></a>

Anda dapat menggunakan Apache Kafka AlterConfig API atau alat Kafka-configs.sh untuk mengedit konfigurasi dinamis berikut. Amazon MSK menetapkan dan mengelola semua properti lain yang tidak Anda atur. Anda dapat secara dinamis mengatur properti konfigurasi tingkat klaster dan tingkat broker yang tidak memerlukan restart broker.


| Properti | Deskripsi | Nilai default | 
| --- | --- | --- | 
|  advertised.listeners  |  Listener untuk mempublikasikan untuk digunakan klien, jika berbeda dari properti `listeners` config. Di lingkungan IaaS, ini mungkin perlu berbeda dari antarmuka yang diikat broker. Jika ini tidak disetel, nilai untuk pendengar akan digunakan. Tidak seperti pendengar, tidak valid untuk mengiklankan alamat meta 0.0.0.0. Juga tidak seperti`listeners`, mungkin ada port duplikat di properti ini, sehingga satu pendengar dapat dikonfigurasi untuk mengiklankan alamat pendengar lain. Ini dapat berguna dalam beberapa kasus di mana penyeimbang beban eksternal digunakan. Properti ini ditetapkan pada tingkat per-broker.  |  null  | 
|  kompresi.type  |  Jenis kompresi akhir untuk topik tertentu. Anda dapat mengatur properti ini ke codec kompresi standar (`gzip`,, `snappy``lz4`, dan`zstd`). Ini juga menerima. `uncompressed` Nilai ini setara dengan tidak ada kompresi. Jika Anda menetapkan nilainya`producer`, itu berarti mempertahankan codec kompresi asli yang ditetapkan oleh produsen.  | Apache Kafka Standar | 
| log.cleaner.delete.retention.ms | Jumlah waktu untuk mempertahankan penanda batu nisan hapus untuk topik log yang dipadatkan. Pengaturan ini juga memberikan batas pada waktu di mana konsumen harus menyelesaikan pembacaan jika mereka mulai dari offset 0 untuk memastikan bahwa mereka mendapatkan snapshot yang valid dari tahap akhir. Jika tidak, hapus batu nisan mungkin dikumpulkan sebelum mereka menyelesaikan pemindaian mereka. | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, yaitu, 1 hari), Apache Kafka Default | 
| log.cleaner.min.compaction.lag.ms | Waktu minimum pesan akan tetap tidak dipadatkan di log. Pengaturan ini hanya berlaku untuk log yang sedang dipadatkan. | 0, Apache Kafka Standar | 
| log.cleaner.max.compaction.lag.ms | Waktu maksimum pesan akan tetap tidak memenuhi syarat untuk pemadatan di log. Pengaturan ini hanya berlaku untuk log yang sedang dipadatkan. Konfigurasi ini akan dibatasi dalam kisaran [7 hari, Long.Max]. | 9223372036854775807, Apache Kafka Standar | 
|  log.cleanup.policy  |  Kebijakan pembersihan default untuk segmen di luar jendela retensi. Daftar kebijakan valid yang dipisahkan koma. Kebijakan yang valid adalah `delete` dan`compact`. Untuk klaster berkemampuan penyimpanan berjenjang, kebijakan yang valid hanya berlaku. `delete`  | Apache Kafka Standar | 
|  log.message.timestamp.after.max.ms  |  Perbedaan stempel waktu yang diijinkan antara stempel waktu pesan dan stempel waktu broker. Stempel waktu pesan bisa lebih lambat atau sama dengan stempel waktu broker, dengan selisih maksimum yang diijinkan ditentukan oleh nilai yang ditetapkan dalam konfigurasi ini. Jika`log.message.timestamp.type=CreateTime`, pesan akan ditolak jika perbedaan stempel waktu melebihi ambang batas yang ditentukan ini. Konfigurasi ini diabaikan jika`log.message.timestamp.type=LogAppendTime`.  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, yaitu, 1 hari) | 
|  log.message.timestamp.before.max.ms  |  Perbedaan stempel waktu yang diijinkan antara stempel waktu broker dan stempel waktu pesan. Stempel waktu pesan dapat lebih awal dari atau sama dengan stempel waktu broker, dengan perbedaan maksimum yang diijinkan ditentukan oleh nilai yang ditetapkan dalam konfigurasi ini. Jika`log.message.timestamp.type=CreateTime`, pesan akan ditolak jika perbedaan stempel waktu melebihi ambang batas yang ditentukan ini. Konfigurasi ini diabaikan jika`log.message.timestamp.type=LogAppendTime`.  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, yaitu, 1 hari) | 
|  log.message.timestamp.type  |  Menentukan apakah stempel waktu dalam pesan adalah waktu pembuatan pesan atau log menambahkan waktu. Nilai yang diizinkan adalah `CreateTime` dan`LogAppendTime`.  | Apache Kafka Standar | 
|  log.retention.bytes  |  Ukuran maksimum log sebelum menghapusnya.  |  Apache Kafka Standar  | 
|  log.retention.ms  |  Jumlah milidetik untuk menyimpan file log sebelum menghapusnya.  |  Apache Kafka Standar  | 
|  max.connection.creation.rate  |  Tingkat pembuatan koneksi maksimum yang diizinkan di broker kapan saja.  |  Apache Kafka Standar  | 
|  max.koneksi  |  Jumlah maksimum koneksi yang diizinkan di broker kapan saja. Batas ini diterapkan selain batas per-ip yang dikonfigurasi menggunakan. `max.connections.per.ip`  |  Apache Kafka Standar  | 
|  max.connections.per.ip  |  Jumlah maksimum koneksi yang diizinkan dari setiap alamat ip. Ini dapat diatur ke `0` jika ada penggantian yang dikonfigurasi menggunakan properti max.connections.per.ip.overrides. Koneksi baru dari alamat ip dijatuhkan jika batas tercapai.  |  Apache Kafka Standar  | 
|  max.connections.per.ip.overrides  |  Daftar per-ip atau nama host yang dipisahkan koma menggantikan jumlah koneksi maksimum default. Contoh nilai adalah `hostName:100,127.0.0.1:200`  | Apache Kafka Standar | 
|  message.max.bytes  |  Ukuran batch rekor terbesar yang diizinkan Kafka. Jika Anda meningkatkan nilai ini dan ada konsumen yang lebih tua dari 0.10.2, Anda juga harus meningkatkan ukuran pengambilan konsumen sehingga mereka dapat mengambil batch rekaman sebesar ini. Versi format pesan terbaru selalu mengelompokkan pesan ke dalam batch untuk efisiensi. Versi format pesan sebelumnya tidak mengelompokkan catatan yang tidak terkompresi ke dalam batch, dan dalam kasus seperti itu, batas ini hanya berlaku untuk satu rekaman. Anda dapat mengatur nilai ini per topik dengan `max.message.bytes` konfigurasi tingkat topik.  | Apache Kafka Standar | 
|  producer.id.expiration.ms  |  Waktu di ms bahwa pemimpin partisi topik akan menunggu sebelum produser IDs kedaluwarsa. Produser tidak IDs akan kedaluwarsa saat transaksi yang terkait dengannya masih berlangsung. Perhatikan bahwa produser IDs dapat kedaluwarsa lebih cepat jika penulisan terakhir dari ID produsen dihapus karena pengaturan retensi topik. Menyetel nilai ini sama atau lebih tinggi dari `delivery.timeout.ms` dapat membantu mencegah kedaluwarsa selama percobaan ulang dan melindungi terhadap duplikasi pesan, tetapi default harus masuk akal untuk sebagian besar kasus penggunaan.  | Apache Kafka Standar | 

## Konfigurasi tingkat topik pada Broker Ekspres
<a name="msk-configuration-express-topic-configuration"></a>

Anda dapat menggunakan perintah Apache Kafka untuk mengatur atau memodifikasi properti konfigurasi tingkat topik untuk topik baru dan yang sudah ada. Jika Anda tidak dapat memberikan konfigurasi tingkat topik apa pun, Amazon MSK menggunakan broker default. Seperti konfigurasi tingkat broker, Amazon MSK melindungi beberapa properti konfigurasi tingkat topik dari perubahan. Contohnya termasuk faktor replikasi, `min.insync.replicas` dan`unclean.leader.election.enable`. Jika Anda mencoba membuat topik dengan nilai faktor replikasi selain`3`, Amazon MSK akan membuat topik dengan faktor replikasi secara default. `3` Untuk informasi selengkapnya tentang properti konfigurasi tingkat topik dan contoh tentang cara mengaturnya, lihat [Konfigurasi Tingkat Topik dalam dokumentasi Apache Kafka](https://kafka.apache.org/documentation/#topicconfigs).


| Properti | Deskripsi | 
| --- | --- | 
|  cleanup.policy  |  Konfigurasi ini menetapkan kebijakan retensi yang akan digunakan pada segmen log. Kebijakan “hapus” (yang merupakan default) akan membuang segmen lama ketika waktu penyimpanan atau batas ukurannya telah tercapai. Kebijakan “kompak” akan mengaktifkan pemadatan log, yang mempertahankan nilai terbaru untuk setiap kunci. Dimungkinkan juga untuk menentukan kedua kebijakan dalam daftar yang dipisahkan koma (misalnya, “hapus, kompak”). Dalam hal ini, segmen lama akan dibuang sesuai waktu retensi dan konfigurasi ukuran, sementara segmen yang dipertahankan akan dipadatkan. Pemadatan pada broker Express dipicu setelah data dalam partisi mencapai 256 MB.  | 
|  kompresi.type  |  Tentukan jenis kompresi akhir untuk topik tertentu. Konfigurasi ini menerima codec kompresi standar (`gzip`,,`snappy`,`lz4`). `zstd` Ini juga menerima `uncompressed` yang setara dengan tidak ada kompresi; dan `producer` yang berarti mempertahankan codec kompresi asli yang ditetapkan oleh produsen.  | 
| hapus.retention.ms |  Jumlah waktu untuk mempertahankan penanda batu nisan hapus untuk topik log yang dipadatkan. Pengaturan ini juga memberikan batas pada waktu di mana konsumen harus menyelesaikan pembacaan jika mereka mulai dari offset 0 untuk memastikan bahwa mereka mendapatkan snapshot yang valid dari tahap akhir. Jika tidak, hapus batu nisan mungkin dikumpulkan sebelum mereka menyelesaikan pemindaian mereka. Nilai default untuk pengaturan ini adalah 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, yaitu, 1 hari), Apache Kafka Default  | 
|  max.message.bytes  |  Ukuran batch rekaman terbesar yang diizinkan oleh Kafka (setelah kompresi, jika kompresi diaktifkan). Jika ini meningkat dan ada konsumen yang lebih tua dari`0.10.2`, ukuran pengambilan konsumen juga harus ditingkatkan sehingga mereka dapat mengambil batch rekaman sebesar ini. Dalam versi format pesan terbaru, catatan selalu dikelompokkan ke dalam batch untuk efisiensi. Dalam versi format pesan sebelumnya, catatan yang tidak dikompresi tidak dikelompokkan ke dalam batch dan batas ini hanya berlaku untuk satu catatan dalam kasus itu. Ini dapat diatur per topik dengan tingkat topik`max.message.bytes config`.  | 
|  message.timestamp.after.max.ms  |  Konfigurasi ini menetapkan perbedaan stempel waktu yang diizinkan antara stempel waktu pesan dan stempel waktu broker. Stempel waktu pesan bisa lebih lambat atau sama dengan stempel waktu broker, dengan selisih maksimum yang diijinkan ditentukan oleh nilai yang ditetapkan dalam konfigurasi ini. Jika`message.timestamp.type=CreateTime`, pesan akan ditolak jika perbedaan stempel waktu melebihi ambang batas yang ditentukan ini. Konfigurasi ini diabaikan jika`message.timestamp.type=LogAppendTime`.  | 
|  message.timestamp.before.max.ms  |  Konfigurasi ini menetapkan perbedaan stempel waktu yang diizinkan antara stempel waktu broker dan stempel waktu pesan. Stempel waktu pesan dapat lebih awal dari atau sama dengan stempel waktu broker, dengan perbedaan maksimum yang diijinkan ditentukan oleh nilai yang ditetapkan dalam konfigurasi ini. Jika`message.timestamp.type=CreateTime`, pesan akan ditolak jika perbedaan stempel waktu melebihi ambang batas yang ditentukan ini. Konfigurasi ini diabaikan jika`message.timestamp.type=LogAppendTime`.  | 
|  message.timestamp.type  |  Tentukan apakah stempel waktu dalam pesan adalah waktu buat pesan atau waktu penambahan log. Nilai harus salah satu `CreateTime` atau `LogAppendTime`  | 
| min.compaction.lag.ms |  Waktu minimum pesan akan tetap tidak dipadatkan di log. Pengaturan ini hanya berlaku untuk log yang sedang dipadatkan. Nilai default untuk pengaturan ini adalah 0, Apache Kafka Default  | 
| max.compaction.lag.ms |  Waktu maksimum pesan akan tetap tidak memenuhi syarat untuk pemadatan di log. Pengaturan ini hanya berlaku untuk log yang sedang dipadatkan. Konfigurasi ini akan dibatasi dalam kisaran [7 hari, Long.Max]. Nilai default untuk pengaturan ini adalah 9223372036854775807, Apache Kafka Default.  | 
|  retensi.bytes  |  Konfigurasi ini mengontrol ukuran maksimum partisi (yang terdiri dari segmen log) dapat tumbuh sebelum kita membuang segmen log lama untuk mengosongkan ruang jika kita menggunakan kebijakan retensi “hapus”. Secara default tidak ada batas ukuran hanya batas waktu. Karena batas ini diberlakukan pada tingkat partisi, kalikan dengan jumlah partisi untuk menghitung retensi topik dalam byte. Selain itu, `retention.bytes configuration` beroperasi secara independen `segment.ms` dan `segment.bytes` konfigurasi. Selain itu, memicu bergulir segmen baru jika `retention.bytes` dikonfigurasi ke nol.  | 
|  retensi.ms  |  Konfigurasi ini mengontrol waktu maksimum kami akan menyimpan log sebelum kami membuang segmen log lama untuk mengosongkan ruang jika kami menggunakan kebijakan retensi “hapus”. Ini mewakili SLA tentang seberapa cepat konsumen harus membaca data mereka. Jika diatur ke`-1`, tidak ada batas waktu yang diterapkan. Selain itu, `retention.ms` konfigurasi beroperasi secara independen `segment.ms` dan `segment.bytes` konfigurasi. Selain itu, memicu bergulir segmen baru jika `retention.ms` kondisinya terpenuhi.  | 

# Konfigurasi hanya-baca broker ekspres
<a name="msk-configuration-express-read-only"></a>

Amazon MSK menetapkan nilai untuk konfigurasi ini dan melindunginya dari perubahan yang dapat memengaruhi ketersediaan klaster Anda. Nilai-nilai ini dapat berubah tergantung pada versi Apache Kafka yang berjalan di cluster, jadi ingatlah untuk memeriksa nilai dari cluster spesifik Anda.

Tabel berikut mencantumkan konfigurasi read-only untuk broker Express.


| Properti | Deskripsi | Nilai Broker Ekspres | 
| --- | --- | --- | 
| broker.id | Id broker untuk server ini. | 1,2,3... | 
| broker.rack | Rak broker. Ini akan digunakan dalam penugasan replikasi sadar rak untuk toleransi kesalahan. Contoh: `RACK1`, `us-timur-1d` | ID AZ atau ID Subnet | 
|  default.replication.factor  |  Faktor replikasi default untuk semua topik.  |  3  | 
| fetch.max.bytes | Jumlah maksimum byte yang akan kami kembalikan untuk permintaan pengambilan. | Apache Kafka Standar | 
| group.max.size | Jumlah maksimum konsumen yang dapat ditampung oleh satu kelompok konsumen. | Apache Kafka Standar | 
| inter.broker.listener.name | Nama pendengar yang digunakan untuk komunikasi antar broker. | REPLICATION\$1SECURE atau REPLIKASI | 
| inter.broker.protocol.version | Menentukan versi protokol antar-broker yang digunakan. | Apache Kafka Standar | 
| pendengar | Listener List - Daftar dipisahkan koma dari URIs kita akan mendengarkan dan nama pendengar. Anda dapat mengaturadvertised.listeners property, tetapi bukan listeners properti. | MSK yang dihasilkan | 
| log.message.format.version | Tentukan versi format pesan yang akan digunakan broker untuk menambahkan pesan ke log. | Apache Kafka Standar | 
| min.insync.replika | Ketika produser menetapkan acks ke `all` (atau`-1`), nilai dalam `min.insync.replicas` menentukan jumlah minimum replika yang harus mengakui penulisan agar penulisan dianggap berhasil. Jika minimum ini tidak dapat dipenuhi, produsen menimbulkan pengecualian (salah satu `NotEnoughReplicas` atau`NotEnoughReplicasAfterAppend`). Anda dapat menggunakan nilai acks dari produsen Anda untuk menegakkan jaminan daya tahan yang lebih besar. Dengan mengatur acks ke “semua”. Ini memastikan bahwa produser memunculkan pengecualian jika sebagian besar replika tidak menerima penulisan. | 2 | 
| num.io.thread | Jumlah thread yang digunakan server untuk menghasilkan permintaan, yang mungkin termasuk disk I/O. (m7g.large, 8), (m7g.xlarge, 8), (m7g.2xlarge, 16), (m7g.4xlarge, 32), (m7g.8xlarge, 64), (m7g.12xlarge, 96), (m7g.16xlarge, 128) | Berdasarkan jenis instance. =Matematika.maks (8, 2 \$1 v) CPUs | 
| num.network.threads | Jumlah thread yang digunakan server untuk menerima permintaan dari jaringan dan mengirim tanggapan ke jaringan. (m7g.large, 8), (m7g.xlarge, 8), (m7g.2xlarge, 8), (m7g.4xlarge, 16), (m7g.8xlarge, 32), (m7g.12xlarge, 48), (m7g.16xlarge, 64) | Berdasarkan jenis instance. =Math.max (8, v) CPUs | 
| replica.fetch.response.max.bytes | Jumlah maksimum byte yang diharapkan untuk seluruh respons pengambilan. Rekaman diambil dalam batch, dan jika kumpulan rekaman pertama di partisi pengambilan yang tidak kosong pertama lebih besar dari nilai ini, kumpulan rekaman akan tetap dikembalikan untuk memastikan kemajuan. Ini bukan maksimum absolut. Properti message.max.bytes (konfigurasi broker) atau max.message.bytes (konfigurasi topik) menentukan ukuran batch catatan maksimum yang diterima broker. | Apache Kafka Standar | 
| request.timeout.ms | Konfigurasi mengontrol jumlah waktu maksimum klien akan menunggu respons permintaan. Jika tanggapan tidak diterima sebelum batas waktu berlalu, klien akan mengirim ulang permintaan jika perlu atau gagal permintaan jika percobaan ulang habis. | Apache Kafka Standar | 
| transaction.state.log.min.isr | min.insync.replicasKonfigurasi yang diganti untuk topik transaksi. | 2 | 
| transaction.state.log.replication.factor | Faktor replikasi untuk topik transaksi. | Apache Kafka Standar | 
| unclean.leader.election.enable | Mengizinkan replika yang tidak ada dalam set ISR untuk berfungsi sebagai pemimpin sebagai upaya terakhir, meskipun ini dapat mengakibatkan hilangnya data. | SALAH | 

# Operasi konfigurasi broker
<a name="msk-configuration-operations"></a>

Konfigurasi broker Apache Kafka bersifat statis atau dinamis. Konfigurasi statis memerlukan broker restart untuk konfigurasi yang akan diterapkan. Konfigurasi dinamis tidak memerlukan broker restart untuk konfigurasi yang akan diperbarui. Untuk informasi selengkapnya tentang properti konfigurasi dan mode pembaruan, lihat Konfigurasi Apache Kafka. 

Topik ini menjelaskan cara membuat konfigurasi MSK khusus dan cara melakukan operasi pada mereka. Untuk informasi tentang cara menggunakan konfigurasi MSK untuk membuat atau memperbarui cluster, lihat. [Fitur dan konsep utama MSK Amazon](operations.md)

**Topics**
+ [Buat konfigurasi](msk-configuration-operations-create.md)
+ [Perbarui konfigurasi](msk-configuration-operations-update.md)
+ [Hapus konfigurasi](msk-configuration-operations-delete.md)
+ [Dapatkan metadata konfigurasi](msk-configuration-operations-describe.md)
+ [Dapatkan detail tentang revisi konfigurasi](msk-configuration-operations-describe-revision.md)
+ [Konfigurasi daftar di akun Anda untuk Wilayah saat ini](msk-configuration-operations-list.md)
+ [Status konfigurasi MSK Amazon](msk-configuration-states.md)

# Buat konfigurasi
<a name="msk-configuration-operations-create"></a>

Proses ini menjelaskan cara membuat konfigurasi MSK Amazon khusus dan cara melakukan operasi di atasnya.

1. Buat file tempat Anda menentukan properti konfigurasi yang ingin Anda atur dan nilai yang ingin Anda tetapkan padanya. Berikut ini adalah isi dari contoh file konfigurasi.

   ```
   auto.create.topics.enable = true
   
   log.roll.ms = 604800000
   ```

1. Jalankan AWS CLI perintah berikut, dan ganti *config-file-path* dengan path ke file tempat Anda menyimpan konfigurasi di langkah sebelumnya.
**catatan**  
Nama yang Anda pilih untuk konfigurasi Anda harus cocok dengan regex berikut: “^ [0-9A-za-Z] [0-9A-za-Z-] \$10,\$1 \$1”.

   ```
   aws kafka create-configuration --name "ExampleConfigurationName" --description "Example configuration description." --kafka-versions "1.1.1" --server-properties fileb://config-file-path
   ```

   Berikut ini adalah contoh respons yang berhasil setelah Anda menjalankan perintah ini.

   ```
   {
       "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1",
       "CreationTime": "2019-05-21T19:37:40.626Z",
       "LatestRevision": {
           "CreationTime": "2019-05-21T19:37:40.626Z",
           "Description": "Example configuration description.",
           "Revision": 1
       },
       "Name": "ExampleConfigurationName"
   }
   ```

1. Perintah sebelumnya mengembalikan Amazon Resource Name (ARN) untuk konfigurasi baru Anda. Simpan ARN ini karena Anda membutuhkannya untuk merujuk ke konfigurasi ini di perintah lain. Jika Anda kehilangan konfigurasi ARN, Anda dapat membuat daftar semua konfigurasi di akun Anda untuk menemukannya lagi.

# Perbarui konfigurasi
<a name="msk-configuration-operations-update"></a>

Proses ini menjelaskan cara memperbarui konfigurasi MSK Amazon khusus.

1. Buat file tempat Anda menentukan properti konfigurasi yang ingin Anda perbarui dan nilai yang ingin Anda tetapkan padanya. Berikut ini adalah isi dari contoh file konfigurasi.

   ```
   auto.create.topics.enable = true
   
   min.insync.replicas = 2
   ```

1. Jalankan AWS CLI perintah berikut, dan ganti *config-file-path* dengan path ke file tempat Anda menyimpan konfigurasi di langkah sebelumnya.

   Ganti *configuration-arn* dengan ARN yang Anda peroleh saat membuat konfigurasi. Jika Anda tidak menyimpan ARN saat membuat konfigurasi, Anda dapat menggunakan `list-configurations` perintah untuk mencantumkan semua konfigurasi di akun Anda. Konfigurasi yang Anda inginkan dalam daftar muncul di respons. ARN konfigurasi juga muncul dalam daftar itu.

   ```
   aws kafka update-configuration --arn configuration-arn --description "Example configuration revision description." --server-properties fileb://config-file-path
   ```

1. Berikut ini adalah contoh respons yang berhasil setelah Anda menjalankan perintah ini.

   ```
   {
       "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1",
       "LatestRevision": {
           "CreationTime": "2020-08-27T19:37:40.626Z",
           "Description": "Example configuration revision description.",
           "Revision": 2
       }
   }
   ```

# Hapus konfigurasi
<a name="msk-configuration-operations-delete"></a>

Prosedur berikut menunjukkan cara menghapus konfigurasi yang tidak dilampirkan ke cluster. Anda tidak dapat menghapus konfigurasi yang dilampirkan ke klaster.

1. Untuk menjalankan contoh ini, ganti *configuration-arn* dengan ARN yang Anda peroleh saat Anda membuat konfigurasi. Jika Anda tidak menyimpan ARN saat membuat konfigurasi, Anda dapat menggunakan `list-configurations` perintah untuk mencantumkan semua konfigurasi di akun Anda. Konfigurasi yang Anda inginkan dalam daftar muncul di respons. ARN konfigurasi juga muncul dalam daftar itu.

   ```
   aws kafka delete-configuration --arn configuration-arn
   ```

1. Berikut ini adalah contoh respons yang berhasil setelah Anda menjalankan perintah ini.

   ```
   {
       "arn": " arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1",
       "state": "DELETING"
   }
   ```

# Dapatkan metadata konfigurasi
<a name="msk-configuration-operations-describe"></a>

Prosedur berikut menunjukkan cara mendeskripsikan konfigurasi MSK Amazon untuk mendapatkan metadata tentang konfigurasi.

1. Perintah berikut mengembalikan metadata tentang konfigurasi. Untuk mendapatkan deskripsi terperinci tentang konfigurasi, jalankan file`describe-configuration-revision`.

   Untuk menjalankan contoh ini, ganti *configuration-arn* dengan ARN yang Anda peroleh saat Anda membuat konfigurasi. Jika Anda tidak menyimpan ARN saat membuat konfigurasi, Anda dapat menggunakan `list-configurations` perintah untuk mencantumkan semua konfigurasi di akun Anda. Konfigurasi yang Anda inginkan dalam daftar muncul di respons. ARN konfigurasi juga muncul dalam daftar itu.

   ```
   aws kafka describe-configuration --arn configuration-arn
   ```

1. Berikut ini adalah contoh respons yang berhasil setelah Anda menjalankan perintah ini.

   ```
   {
       "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1",
       "CreationTime": "2019-05-21T00:54:23.591Z",
       "Description": "Example configuration description.",
       "KafkaVersions": [
           "1.1.1"
       ],
       "LatestRevision": {
           "CreationTime": "2019-05-21T00:54:23.591Z",
           "Description": "Example configuration description.",
           "Revision": 1
       },
       "Name": "SomeTest"
   }
   ```

# Dapatkan detail tentang revisi konfigurasi
<a name="msk-configuration-operations-describe-revision"></a>

Proses ini memberi Anda deskripsi rinci tentang revisi konfigurasi MSK Amazon.

Jika Anda menggunakan `describe-configuration` perintah untuk menggambarkan konfigurasi MSK, Anda melihat metadata konfigurasi. Untuk mendapatkan deskripsi konfigurasi, gunakan perintah,`describe-configuration-revision`.
+ Jalankan perintah berikut dan ganti *configuration-arn* dengan ARN yang Anda peroleh saat Anda membuat konfigurasi. Jika Anda tidak menyimpan ARN saat membuat konfigurasi, Anda dapat menggunakan `list-configurations` perintah untuk mencantumkan semua konfigurasi di akun Anda. Konfigurasi yang Anda inginkan dalam daftar yang muncul dalam respons. ARN konfigurasi juga muncul dalam daftar itu.

  ```
  aws kafka describe-configuration-revision --arn configuration-arn --revision 1
  ```

  Berikut ini adalah contoh respons yang berhasil setelah Anda menjalankan perintah ini.

  ```
  {
      "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1",
      "CreationTime": "2019-05-21T00:54:23.591Z",
      "Description": "Example configuration description.",
      "Revision": 1,
      "ServerProperties": "YXV0by5jcmVhdGUudG9waWNzLmVuYWJsZSA9IHRydWUKCgp6b29rZWVwZXIuY29ubmVjdGlvbi50aW1lb3V0Lm1zID0gMTAwMAoKCmxvZy5yb2xsLm1zID0gNjA0ODAwMDAw"
  }
  ```

  Nilai `ServerProperties` dikodekan dengan base64. Jika Anda menggunakan decoder base64 (misalnya, https://www.base64decode.org/) untuk memecahkan kode secara manual, Anda mendapatkan konten dari file konfigurasi asli yang Anda gunakan untuk membuat konfigurasi kustom. Dalam hal ini, Anda mendapatkan yang berikut:

  ```
  auto.create.topics.enable = true
  
  log.roll.ms = 604800000
  ```

# Konfigurasi daftar di akun Anda untuk Wilayah saat ini
<a name="msk-configuration-operations-list"></a>

Proses ini menjelaskan cara mencantumkan semua konfigurasi MSK Amazon di akun Anda untuk Wilayah saat ini AWS .
+ Jalankan perintah berikut.

  ```
  aws kafka list-configurations
  ```

  Berikut ini adalah contoh respons yang berhasil setelah Anda menjalankan perintah ini.

  ```
  {
      "Configurations": [
          {
              "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1",
              "CreationTime": "2019-05-21T00:54:23.591Z",
              "Description": "Example configuration description.",
              "KafkaVersions": [
                  "1.1.1"
              ],
              "LatestRevision": {
                  "CreationTime": "2019-05-21T00:54:23.591Z",
                  "Description": "Example configuration description.",
                  "Revision": 1
              },
              "Name": "SomeTest"
          },
          {
              "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/SomeTest/abcdabcd-1234-abcd-1234-abcd123e8e8e-1",
              "CreationTime": "2019-05-03T23:08:29.446Z",
              "Description": "Example configuration description.",
              "KafkaVersions": [
                  "1.1.1"
              ],
              "LatestRevision": {
                  "CreationTime": "2019-05-03T23:08:29.446Z",
                  "Description": "Example configuration description.",
                  "Revision": 1
              },
              "Name": "ExampleConfigurationName"
          }
      ]
  }
  ```

# Status konfigurasi MSK Amazon
<a name="msk-configuration-states"></a>

Konfigurasi MSK Amazon dapat berada di salah satu negara bagian berikut. Untuk melakukan operasi pada konfigurasi, konfigurasi harus dalam `DELETE_FAILED` keadaan `ACTIVE` atau:
+ `ACTIVE`
+ `DELETING`
+ `DELETE_FAILED`