La configurazione predefinita di Amazon MSK - Amazon Managed Streaming per Apache Kafka

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

La configurazione predefinita di Amazon MSK

Quando crei un cluster MSK senza specificare una configurazione MSK personalizzata, Amazon MSK crea e utilizza una configurazione predefinita con i valori visualizzati nella tabella seguente. Per le proprietà non presenti in questa tabella, Amazon MSK utilizza i valori predefiniti associati alla versione di Apache Kafka. Per un elenco di questi valori predefiniti, consulta la pagina relativa alla configurazione di Apache Kafka.

Valori di configurazione predefiniti
Nome Descrizione Valore predefinito per il cluster con l'archiviazione non a più livelli Valore predefinito per il cluster abilitato all'archiviazione a più livelli
allow.everyone.if.no.acl.found Se nessun modello di risorse corrisponde a una risorsa specifica, la risorsa non dispone di ACL associati. In questo caso, se questa proprietà è impostata su true, tutti possono accedere alla risorsa, non solo i superutenti. true true
auto.create.topics.enable Abilita la creazione automatica di un argomento sul server. false false
auto.leader.rebalance.enable Consente il bilanciamento leader automatico. Un thread in background controlla e attiva il bilanciamento del leader a intervalli regolari, se necessario. true true
default.replication.factor Fattori di replica predefiniti per argomenti creati automaticamente. 3 per i cluster in 3 zone di disponibilità e 2 per i cluster in 2 zone di disponibilità. 3 per i cluster in 3 zone di disponibilità e 2 per i cluster in 2 zone di disponibilità.

local.retention.bytes

La dimensione massima dei segmenti di log locali per una partizione prima dell'eliminazione dei vecchi segmenti. Se questo valore non viene impostato, viene utilizzato il valore in log.retention.bytes. Il valore effettivo deve essere sempre minore o uguale al valore di log.retention.bytes. Il valore predefinito -2 indica che non è previsto un limite alla conservazione locale. Ciò corrisponde all'impostazione retention.ms/bytes di -1. Le proprietà local.retention.ms e local.retention.bytes sono simili a log.retention, in quanto vengono utilizzate per determinare per quanto tempo i segmenti di log devono rimanere nell'archiviazione locale. Le configurazioni log.retention.* esistenti sono configurazioni di conservazione per la partizione degli argomenti. Ciò include l'archiviazione locale e remota. Valori validi: numeri interi in [-2; +Inf]

-2 per illimitato -2 per illimitato

local.retention.ms

Numero di millisecondi di conservazione del segmento di log locale prima dell'eliminazione. Se questo valore non viene impostato, Amazon MSK utilizza il valore in log.retention.ms. Il valore effettivo deve essere sempre minore o uguale al valore di log.retention.bytes. Il valore predefinito -2 indica che non è previsto un limite alla conservazione locale. Ciò corrisponde all'impostazione retention.ms/bytes di -1.

I valori local.retention.ms e local.retention.bytes sono simili a log.retention. MSK utilizza questa configurazione per determinare per quanto tempo i segmenti di log devono rimanere nell'archiviazione locale. Le configurazioni log.retention.* esistenti sono configurazioni di conservazione per la partizione degli argomenti. Ciò include l'archiviazione locale e remota. I valori validi sono numeri interi maggiori di 0.
-2 per illimitato -2 per illimitato

log.message.timestamp.difference.max.ms

La differenza massima consentita tra il timestamp quando un broker riceve un messaggio e il timestamp specificato nel messaggio. Se log.message.timestamp.type=CreateTime, un messaggio verrà rifiutato se la differenza di timestamp supera questa soglia. Questa configurazione viene ignorata se log.message.timestamp.type= Time. LogAppend La differenza di timestamp massima consentita non deve essere maggiore di log.retention.ms per evitare una distribuzione dei log inutilmente frequente. 9223372036854775807 86400000 per Kafka 2.8.2.tiered
log.segment.bytes Dimensione massima di un singolo file di log. 1073741824 134217728
min.insync.replicas

Quando un produttore imposta il valore delle ACK (il riconoscimento che il produttore riceve dal broker Kafka) su "all" (o "-1"), il valore in min.insync.replicas specifica il numero minimo di repliche che devono riconoscere una scrittura affinché questa sia considerata correttamente completata. Se questo valore non soddisfa questo minimo, il produttore solleva un'eccezione (o). NotEnoughReplicas NotEnoughReplicasAfterAppend

Se usati insieme, i valori min.insync.replicas e ACK consentono di imporre maggiori garanzie di durata. Ad esempio, è possibile creare un argomento con un fattore di replica di 3, impostare min.insync.replicas su 2 e produrre con ACK di "all". Ciò garantisce che il produttore generi un'eccezione se la maggior parte delle repliche non riceve una scrittura.

2 per i cluster in 3 zone di disponibilità e 1 per i cluster in 2 zone di disponibilità. 2 per i cluster in 3 zone di disponibilità e 1 per i cluster in 2 zone di disponibilità.
num.io.thread Numero di thread utilizzati dal server per produrre le richieste, che possono includere l'I/O del disco. 8 max(8, vCPU), dove le vCPU dipendono dalla dimensione dell'istanza del broker
num.network.threads Il numero di thread utilizzati dal server per ricevere richieste dalla rete e inviarle le risposte. 5 max(5, vCPU/2), dove le vCPU dipendono dalla dimensione dell'istanza del broker
num.partitions Numero predefinito di partizioni di log per argomento. 1 1
num.replica.fetchers Il numero di thread di recupero utilizzati per replicare i messaggi da un broker di origine. Se si aumenta questo valore, è possibile aumentare il grado di parallelismo I/O nel broker follower. 2 max(2, vCPU/4), dove le vCPU dipendono dalla dimensione dell'istanza del broker

remote.log.msk.disable.policy

Utilizzato con remote.storage.enable per disabilitare l'archiviazione a più livelli. Imposta questa policy su Elimina per indicare che i dati nell'archiviazione a più livelli vengono eliminati quando si imposta remote.storage.enable su false.

N/D DELETE
remote.log.reader.threads La dimensione del pool di thread del lettore di log remoto, utilizzato nella pianificazione delle attività per recuperare dati dall'archiviazione remota. N/D max(10, vCPU*0,67), dove le vCPU dipendono dalla dimensione dell'istanza del broker

remote.storage.enable

Abilita l'archiviazione a più livelli (remota) per un argomento, se impostato su true. Disabilita l'archiviazione a più livelli a livello di argomento se impostato su false e remote.log.msk.disable.policy è impostato su Delete. Quando si disabilita l'archiviazione a più livelli, si eliminano i dati dall'archiviazione remota. Una volta disabilitata l'archiviazione a più livelli su un argomento, non sarà possibile riabilitarla. false true
replica.lag.time.max.ms Se un follower non ha inviato richieste di fetch o non ha consumato fino all'offset di fine log del leader per almeno questo numero di millisecondi, il leader rimuove il follower dall'ISR. 30000 30000

retention.ms

Campo obbligatorio. Il tempo minimo è 3 giorni. Non esiste un'impostazione predefinita perché l'impostazione è obbligatoria.

Amazon MSK utilizza il valore retention.ms con local.retention.ms per determinare quando i dati vengono spostati dall'archiviazione locale a quella a più livelli. Il valore local.retention.ms specifica quando spostare i dati dall'archiviazione locale a quella a più livelli. Il valore retention.ms specifica quando rimuovere i dati dall'archiviazione a più livelli (ossia, rimuoverli dal cluster). Valori validi: numeri interi in [-1; +Inf]

Minimo 259.200.000 millisecondi (3 giorni). -1 per una conservazione infinita. Minimo 259.200.000 millisecondi (3 giorni). -1 per una conservazione infinita.
socket.receive.buffer.bytes Buffer SO_RCVBUF dei socket del server dei socket. Se il valore è -1, viene utilizzato il sistema operativo predefinito. 102400 102400
socket.request.max.bytes Numero massimo di byte in una richiesta socket. 104857600 104857600
socket.send.buffer.bytes Buffer SO_SNDBUF dei socket del server dei socket. Se il valore è -1, viene utilizzato il sistema operativo predefinito. 102400 102400
unclean.leader.election.enable Indica se desideri che le repliche non incluse nel set ISR fungano da leader come ultima risorsa, anche se ciò potrebbe comportare la perdita di dati. true false
zookeeper.session.timeout.ms

Il timeout della ZooKeeper sessione Apache in millisecondi.

18000 18000
zookeeper.set.acl Il client impostato per l'utilizzo di ACL sicure. false false

Per informazioni su come specificare valori di configurazione personalizzati, consulta la pagina Configurazioni MSK personalizzate.