

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à.

# Configurazione Amazon MSK Provisioned
<a name="msk-configuration"></a>

Amazon MSK fornisce configurazioni predefinite per broker, argomenti e nodi di metadati. Puoi inoltre creare configurazioni personalizzate e utilizzarle per creare nuovi cluster MSK o per aggiornare cluster esistenti. Una configurazione MSK è costituita da un insieme di proprietà e dai relativi valori corrispondenti. A seconda del tipo di broker utilizzato nel cluster, esistono diversi set di impostazioni predefinite di configurazione e un diverso set di configurazioni che è possibile modificare. Consulta le sezioni seguenti per maggiori dettagli su come configurare i broker Standard ed Express.

**Topics**
+ [Configurazioni standard del broker](msk-configuration-standard.md)
+ [Configurazioni del broker Express](msk-configuration-express.md)
+ [Operazioni di configurazione del broker](msk-configuration-operations.md)

# Configurazioni standard del broker
<a name="msk-configuration-standard"></a>

Questa sezione descrive le proprietà di configurazione per i broker Standard.

**Topics**
+ [Configurazioni Amazon MSK personalizzate](msk-configuration-properties.md)
+ [Configurazione Amazon MSK predefinita](msk-default-configuration.md)
+ [Linee guida per la configurazione a livello di argomento dello storage su più livelli di Amazon MSK](msk-guidelines-tiered-storage-topic-level-config.md)

# Configurazioni Amazon MSK personalizzate
<a name="msk-configuration-properties"></a>

Puoi usare Amazon MSK per creare una configurazione MSK personalizzata in cui impostare le seguenti proprietà di configurazione di Apache Kafka. Le proprietà che non vengono impostate in modo esplicito ricevono i valori che hanno in [Configurazione Amazon MSK predefinita](msk-default-configuration.md). Per ulteriori informazioni sulle proprietà di configurazione, consulta la pagina relativa alla [configurazione di Apache Kafka](https://kafka.apache.org/documentation/#configuration).


| Nome | Description | 
| --- | --- | 
| allow.everyone.if.no.acl.found | Se desideri impostare questa proprietà sufalse, assicurati innanzitutto di definire Apache Kafka per il tuo cluster. ACLs Se imposti questa proprietà su false e non definisci prima Apache Kafka ACLs, perdi l'accesso al cluster. In tal caso, puoi aggiornare nuovamente la configurazione e impostare questa proprietà su true per ottenere nuovamente l'accesso al cluster. | 
| auto.create.topics.enable | Abilita la creazione automatica di argomenti sul server. | 
| compression.type | Il tipo di compressione finale per un determinato argomento. Puoi impostare questa proprietà sui codec di compressione standard (gzip, snappy, lz4 e zstd). Inoltre, accetta uncompressed. Questo valore equivale a nessuna compressione. Se imposti il valore su producer, significa mantenere il codec di compressione originale impostato dal produttore. | 
|  connections.max.idle.ms  | Timeout delle connessioni inattive in millisecondi. I thread del processore dei socket del server chiudono le connessioni inattive per un periodo superiore al valore impostato per questa proprietà. | 
| default.replication.factor | Il fattore di replica predefinito per argomenti creati automaticamente. | 
| delete.topic.enable | Abilita l'operazione di eliminazione argomento. Se questa configurazione è disattivata, non è possibile eliminare un argomento tramite lo strumento di amministrazione. | 
| group.initial.rebalance.delay.ms | Il tempo durante il quale il coordinatore del gruppo attende che altri consumatori si uniscano a un nuovo gruppo prima di eseguire il primo ribilanciamento. Un ritardo più lungo significa potenzialmente meno ribilanciamenti, ma aumenta il tempo prima dell'inizio dell'elaborazione. | 
| group.max.session.timeout.ms | Timeout sessione massimo per i consumatori registrati. Timeout più lunghi offrono ai consumatori più tempo per elaborare i messaggi tra heartbeat, ma implicano un aumento del tempo richiesto per rilevare gli errori. | 
| group.min.session.timeout.ms | Timeout sessione minimo per consumatori registrati. Timeout più brevi comportano un rilevamento più rapido degli errori, ma implicano un heartbeat dei consumatori più frequente. Ciò può sovraccaricare le risorse del broker. | 
| leader.imbalance.per.broker.percentage | Il rapporto di squilibrio leader consentito per broker. Il controller attiva un bilanciamento dei leader se supera questo valore per broker. Questo valore è specificato in percentuale. | 
| log.cleaner.delete.retention.ms | Quantità di tempo per cui Apache Kafka deve conservare i record eliminati. Il valore minimo è 0. | 
| log.cleaner.min.cleanable.ratio |  Questa proprietà di configurazione può avere valori compresi tra 0 e 1. Questo valore determina la frequenza con cui il compattatore di log tenta di pulire il log (se la compattazione dei log è abilitata). Per impostazione predefinita, Apache Kafka evita di pulire un log se più del 50% del log è stato compattato. Questo rapporto limita lo spazio massimo che il log spreca con i duplicati (al 50%, ciò significa che al massimo il 50% del log potrebbe essere duplicato). Un rapporto più elevato significa un numero inferiore, pulizie più efficienti, ma anche più spreco di spazio nel log.  | 
| log.cleanup.policy | La policy di pulizia predefinita per i segmenti oltre la finestra di conservazione. Un elenco separato da virgole di policy valide. Policy valide sono delete e compact. Per i cluster abilitati all'archiviazione a più livelli, è valida solo la policy delete. | 
| log.flush.interval.messages | Numero di messaggi che si accumulano in una partizione di log prima che i messaggi vengano scaricati su disco. | 
| log.flush.interval.ms | Tempo massimo, in millisecondi, di mantenimento in memoria di un messaggio in un argomento prima che venga scaricato su disco. Se questo valore non viene impostato, viene utilizzato il valore in log.flush.scheduler.interval.ms. Il valore minimo è 0. | 
| log.message.timestamp.difference.max.ms | Questa configurazione è obsoleta in Kafka 3.6.0. Sono state aggiunte due configurazioni, e. log.message.timestamp.before.max.ms log.message.timestamp.after.max.ms La differenza massima consentita tra il timestamp del momento in cui un broker riceve un messaggio e il timestamp specificato nel messaggio. Se log.message.timestamp.type=CreateTime, un messaggio viene rifiutato se la differenza di timestamp supera questa soglia. Questa LogAppendTime configurazione viene ignorata se log.message.timestamp.type=. | 
| log.message.timestamp.type | Specifica se il timestamp nel messaggio è l'ora di creazione del messaggio o l'ora di aggiunta del log. I valori consentiti sono CreateTime e LogAppendTime. | 
| log.retention.bytes | Dimensione massima del log prima dell'eliminazione. | 
| log.retention.hours | Numero di ore per cui mantenere un file di log prima di eliminarlo, terziario alla proprietà log.retention.ms. | 
| log.retention.minutes | Numero di minuti per cui mantenere un file di log prima di eliminarlo, secondario alla proprietà log.retention.ms. Se questo valore non viene impostato, viene utilizzato il valore in log.retention.hours. | 
| log.retention.ms | Numero di millisecondi per cui mantenere un file di log prima di eliminarlo. Se non è impostato, viene utilizzato il valore in log.retention.minutes. | 
| log.roll.ms | Tempo massimo prima che un nuovo segmento di log venga distribuito (in millisecondi). Se questo valore non viene impostato, viene utilizzato il valore in log.roll.hours. Il valore minimo possibile per questa proprietà è 1. | 
| log.segment.bytes | Dimensione massima di un singolo file di log. | 
| max.incremental.fetch.session.cache.slots | Numero massimo di sessioni di recupero incrementali che vengono mantenute. | 
| message.max.bytes |  Dimensione massima del batch di record consentita da Kafka. Se aumenti questo valore e sono presenti consumatori più vecchi di 0.10.2, anche le dimensioni di recupero dei consumatori devono essere incrementate in modo che possano recuperare batch di record di queste dimensioni. Nella versione più recente del formato del messaggio, i messaggi vengono sempre raggruppati in batch per maggiore efficienza. Nelle versioni precedenti del formato del messaggio, i record non compressi non sono raggruppati in batch; in tal caso, questo limite si applica solo a un singolo record. Questo valore può essere impostato a livello di argomento con la configurazione max.message.bytes.  | 
| min.insync.replicas |  Quando un produttore imposta le ACK 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 minimo non può essere raggiunto, il produttore solleva un'eccezione (o). NotEnoughReplicas NotEnoughReplicasAfterAppend È possibile utilizzare i valori in min.insync.replicas e ACK per applicare maggiori garanzie di durabilità. 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.  | 
| num.io.thread | Il numero di thread utilizzati dal server per elaborare le richieste, che possono includere I/O del disco. | 
| num.network.threads | Il numero di thread utilizzati dal server per ricevere richieste dalla rete e inviarle le risposte. | 
| num.partitions | Numero predefinito di partizioni di log per argomento. | 
| num.recovery.threads.per.data.dir | Il numero di thread per directory di dati da utilizzare per il ripristino dei log all'avvio e per lo scaricamento all'arresto. | 
| num.replica.fetchers | Il numero di thread fetcher utilizzati per rispondere ai messaggi da un broker di origine. Se aumenti questo valore, puoi aumentare il grado di I/O parallelismo nel broker di follower. | 
| offsets.retention.minutes | Dopo che un gruppo di consumatori perde tutti i suoi consumatori (ovvero, diventa vuoto) i suoi offset vengono mantenuti per questo periodo di conservazione prima di essere scartati. Per i consumatori autonomi (ossia che utilizzano l'assegnazione manuale), gli offset scadono dopo l'ora dell'ultimo commit più questo periodo di conservazione. | 
| offsets.topic.replication.factor | Il fattore di replica per l'argomento di offset. La selezione di un valore più alto garantisce la disponibilità. La creazione di argomenti interni non riesce fino a quando la dimensione del cluster non soddisfa questo requisito del fattore di replica. | 
| replica.fetch.max.bytes | Numero di byte di messaggi da recuperare per ogni partizione. Questo valore non è un massimo assoluto. Se il primo batch di record nella prima partizione non vuota del recupero è più grande di questo valore, viene restituito il batch di record per garantire l'avanzamento. La proprietà message.max.bytes (configurazione broker) o max.message.bytes (configurazione argomento) specifica la dimensione massima del batch di record accettata dal broker. | 
| replica.fetch.response.max.bytes | Il numero massimo di byte previsto per l'intera risposta di recupero. I record vengono recuperati in batch. Se il primo batch di record nella prima partizione non vuota del recupero è più grande di questo valore, il batch di record verrà comunque restituito per garantire l'avanzamento. Questo non è un massimo assoluto. Le proprietà message.max.bytes (configurazione broker) o max.message.bytes (configurazione argomento) specificano la dimensione massima del batch di record accettata dal broker. | 
| 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.MinValue: 10000MaxValue = 30000 | 
| replica.selector.class | Il nome completo della classe che implementa. ReplicaSelector Il broker utilizza questo valore per trovare la replica di lettura preferita. Se utilizzi Apache Kafka versione 2.4.1 o superiore e desideri consentire ai consumatori di recuperare dati dalla replica più vicina, imposta questa proprietà su org.apache.kafka.common.replica.RackAwareReplicaSelector. Per ulteriori informazioni, consulta [Apache Kafka versione 2.4.1 (usa invece 2.4.1.1)](supported-kafka-versions.md#2.4.1). | 
| replica.socket.receive.buffer.bytes | Il buffer di ricezione socket per le richieste di rete. | 
| socket.receive.buffer.bytes | Buffer SO\$1RCVBUF dei socket del server dei socket. Il valore minimo che è possibile impostare per questa proprietà è -1. Se il valore è -1, Amazon MSK utilizza il sistema operativo predefinito. | 
| socket.request.max.bytes | Il numero massimo di byte in una richiesta socket. | 
| socket.send.buffer.bytes | Buffer SO\$1SNDBUF dei socket del server dei socket. Il valore minimo che è possibile impostare per questa proprietà è -1. Se il valore è -1, Amazon MSK utilizza il sistema operativo predefinito. | 
| transaction.max.timeout.ms | Timeout massimo per transazioni. Se il tempo di transazione richiesto da un cliente supera questo valore, il broker restituisce un errore in. InitProducerIdRequest Ciò evita un timeout troppo elevato per un client, che può rallentare i consumatori che leggono dagli argomenti inclusi nella transazione. | 
| transaction.state.log.min.isr | Configurazione min.insync.replicas ignorata per l'argomento di transazione. | 
| transaction.state.log.replication.factor | Il fattore di replica per l'argomento di transazione. La selezione di un valore più alto per questa proprietà aumenta la disponibilità. La creazione di argomenti interni non riesce fino a quando la dimensione del cluster non soddisfa questo requisito del fattore di replica. | 
| transactional.id.expiration.ms | Il tempo in millisecondi durante il quale il coordinatore della transazione attende di ricevere eventuali aggiornamenti sullo stato delle transazioni per la transazione corrente prima che il coordinatore faccia scadere il proprio ID transazionale. Questa impostazione influenza anche la scadenza dell'ID del produttore perché fa IDs scadere il produttore quando questo tempo trascorre dopo l'ultima scrittura con l'ID produttore specificato. Producer IDs potrebbe scadere prima se l'ultima scrittura dall'ID produttore viene eliminata a causa delle impostazioni di conservazione dell'argomento. Il valore minimo per questa proprietà è 1 millisecondo. | 
| unclean.leader.election.enable | Indica se le repliche non incluse nel set ISR devono fungere da leader come ultima risorsa, anche se ciò potrebbe comportare la perdita di dati. | 
| zookeeper.connection.timeout.ms | ZooKeeper cluster di modalità. Tempo massimo di attesa del client per stabilire una connessione. ZooKeeper Se questo valore non viene impostato, viene utilizzato il valore fornito in zookeeper.session.timeout.ms. MinValue = 6000 MaxValue (incluso) = 18000 Ti consigliamo di impostare questo valore su 10.000 su T3.small per evitare tempi di inattività del cluster.  | 
| zookeeper.session.timeout.ms |  ZooKeeper cluster di modalità. Il timeout della ZooKeeper sessione Apache in millisecondi. MinValue = 6000 MaxValue (incluso) = 18000  | 

Per informazioni su come creare una configurazione MSK personalizzata, elencare tutte le configurazioni o descriverle, consulta [Operazioni di configurazione del broker](msk-configuration-operations.md). Per creare un cluster MSK utilizzando una configurazione MSK personalizzata o per aggiornare un cluster con una nuova configurazione personalizzata, consulta la pagina [Caratteristiche e concetti chiave di Amazon MSK](operations.md).

Quando si aggiorna il cluster MSK esistente con una configurazione MSK personalizzata, Amazon MSK esegue riavvii in sequenza quando necessario e utilizza le best practice per ridurre al minimo i tempi di inattività del cliente. Ad esempio, dopo aver riavviato ogni broker, Amazon MSK prova a lasciare che il broker recuperi i dati che potrebbe aver perso durante l'aggiornamento della configurazione prima di passare al broker successivo.

## Configurazione dinamica di Amazon MSK
<a name="msk-dynamic-confinguration"></a>

Oltre alle proprietà di configurazione fornite da Amazon MSK, puoi impostare dinamicamente le proprietà di configurazione a livello di cluster e broker che non richiedono un riavvio del broker. È possibile impostare dinamicamente alcune proprietà di configurazione. Si tratta delle proprietà che non sono contrassegnate come di sola lettura nella tabella in [Broker Configs](https://kafka.apache.org/documentation/#brokerconfigs) nella documentazione di Apache Kafka. Per informazioni sulla configurazione dinamica e sui comandi di esempio, consulta la pagina [Updating Broker Configs](https://kafka.apache.org/documentation/#dynamicbrokerconfigs) nella documentazione di Apache Kafka.

**Nota**  
Puoi impostare la proprietà `advertised.listeners`, ma non la proprietà `listeners`.

## Configurazione Amazon MSK a livello di argomento
<a name="msk-topic-confinguration"></a>

Puoi utilizzare i comandi Apache Kafka per impostare o modificare le proprietà di configurazione a livello dell'argomento per argomenti nuovi ed esistenti. Per ulteriori informazioni sulle proprietà di configurazione a livello di argomento ed esempi di come impostarle, consulta la pagina [Topic-Level Configs](https://kafka.apache.org/documentation/#topicconfigs) nella documentazione ufficiale di Apache Kafka.

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

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](https://kafka.apache.org/documentation/#configuration). 


| Nome | Description | 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 risorsa corrisponde a una risorsa specifica, la risorsa non è associata ACLs. 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.\$1 esistenti sono configurazioni di conservazione per la partizione degli argomenti. Ciò include l'archiviazione locale e remota. Valori validi: numeri interi in [-2; \$1Inf]  | -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.\$1 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  | Questa configurazione è obsoleta in Kafka 3.6.0. Sono state aggiunte due configurazioni, e. log.message.timestamp.before.max.ms log.message.timestamp.after.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=. LogAppendTime 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 e Kafka 3.7.x a più livelli. | 
| 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, vCPUs) dove v CPUs dipende dalla dimensione dell'istanza del broker | 
| num.network.threads | Numero di thread utilizzati dal server per ricevere richieste dalla rete e inviare risposte alla rete. | 5 | max (5, vCPUs /2) dove v CPUs dipende dalla dimensione dell'istanza del broker | 
| num.partitions | Numero predefinito di partizioni di log per argomento. | 1 | 1 | 
| num.replica.fetchers | Numero di thread fetcher utilizzati per replicare i messaggi da un broker di origine. Se si aumenta questo valore, è possibile aumentare il grado di parallelismo nel broker di I/O follower. | 2 | max (2, vCPUs /4) dove v dipende dalla dimensione dell'istanza del broker CPUs  | 
|  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 | Nessuno | 
| 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, v CPUs \$1 0.67) dove v CPUs dipende 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 | false | 
| 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 dallo storage su più livelli (ovvero, rimossi dal cluster). Valori validi: numeri interi in [-1; \$1Inf]  | 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\$1RCVBUF 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\$1SNDBUF 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 sessione Apache in millisecondi. ZooKeeper   | 18000 | 18000 | 
| zookeeper.set.acl | Il client impostato da usare secure. ACLs | false | false | 

Per informazioni su come specificare valori di configurazione personalizzati, vedere[Configurazioni Amazon MSK personalizzate](msk-configuration-properties.md).

# Linee guida per la configurazione a livello di argomento dello storage su più livelli di Amazon MSK
<a name="msk-guidelines-tiered-storage-topic-level-config"></a>

Di seguito sono riportate le impostazioni e le limitazioni predefinite per la configurazione dell'archiviazione a più livelli a livello di argomento.
+ Amazon MSK non supporta segmenti di log di dimensioni inferiori per argomenti con l'archiviazione a più livelli attivata. Se si desidera creare un segmento, è prevista una dimensione minima del segmento di log di 48 MiB o un tempo minimo di distribuzione del segmento di 10 minuti. Questi valori sono mappati alle proprietà segment.bytes e segment.ms.
+ Il valore di local.retention. ms/bytes can't equal or exceed the retention.ms/bytes. Questa è l'impostazione di conservazione dell'archiviazione a più livelli.
+ Il valore predefinito per local.retention. ms/bytes is -2. This means that the retention.ms value is used for local.retention.ms/bytes. In questo caso, i dati rimangono sia nell'archiviazione locale sia nell'archiviazione a più livelli (una copia per ciascuna) e scadono insieme. Con questa opzione, una copia dei dati locali viene memorizzata nell'archiviazione remota. In questo caso, i dati letti dal traffico di utilizzo provengono dall'archiviazione locale.
+ Il valore predefinito per retention.ms è 7 giorni. Non esiste un limite di dimensione predefinito per retention.bytes.
+ Il valore minimo per retention.ms/bytes è -1. Ciò significa una conservazione infinita.
+ Il valore minimo per local.retention. ms/bytes is -2. This means infinite retention for local storage. It matches with the retention.ms/bytesimpostazione come -1.
+ La configurazione a livello di argomento retention.ms è obbligatoria per gli argomenti con lo storage su più livelli attivato. Il valore minimo per retention.ms è 3 giorni.

Per ulteriori informazioni sui vincoli di storage su più livelli, vedere. [Vincoli e limitazioni dello storage su più livelli per i cluster Amazon MSK](msk-tiered-storage.md#msk-tiered-storage-constraints)

# Configurazioni del broker Express
<a name="msk-configuration-express"></a>

Apache Kafka dispone di centinaia di configurazioni di broker che puoi utilizzare per ottimizzare le prestazioni del tuo cluster MSK Provisioned. L'impostazione di valori errati o non ottimali può influire sull'affidabilità e sulle prestazioni del cluster. I broker Express migliorano la disponibilità e la durata dei cluster MSK Provisioned impostando valori ottimali per le configurazioni critiche e proteggendole dai comuni errori di configurazione. [Esistono tre categorie di configurazioni basate sull'accesso in lettura e scrittura: configurazioni di lettura/scrittura [(modificabili), di sola lettura e non di lettura/scrittura](msk-configuration-express-read-write.md).](msk-configuration-express-read-only.md) Alcune configurazioni utilizzano ancora il valore predefinito di Apache Kafka per la versione di Apache Kafka in esecuzione sul cluster. Le contrassegniamo come Apache Kafka Default.

**Topics**
+ [Configurazioni personalizzate del broker MSK Express (accesso in lettura/scrittura)](msk-configuration-express-read-write.md)
+ [Configurazioni di sola lettura di Express Brokers](msk-configuration-express-read-only.md)

# Configurazioni personalizzate del broker MSK Express (accesso in lettura/scrittura)
<a name="msk-configuration-express-read-write"></a>

Puoi aggiornare le configurazioni dei read/write broker utilizzando la [funzionalità di aggiornamento della configurazione](msk-update-cluster-config.md) di Amazon MSK o l'API di Apache Kafka. AlterConfig Le configurazioni del broker Apache Kafka sono statiche o dinamiche. Le configurazioni statiche richiedono il riavvio del broker per poter applicare la configurazione, mentre le configurazioni dinamiche non richiedono il riavvio del broker. Per ulteriori informazioni sulle proprietà di configurazione e sulle modalità di aggiornamento, vedere [Aggiornamento delle configurazioni del broker](https://kafka.apache.org/documentation/#dynamicbrokerconfigs).

**Topics**
+ [Configurazioni statiche sui broker MSK Express](#msk-configuration-express-static-configuration)
+ [Configurazioni dinamiche su Express Brokers](#msk-configuration-express-dynamic-configuration)
+ [Configurazioni a livello di argomento su Express Brokers](#msk-configuration-express-topic-configuration)

## Configurazioni statiche sui broker MSK Express
<a name="msk-configuration-express-static-configuration"></a>

Puoi usare Amazon MSK per creare un file di configurazione MSK personalizzato per impostare le seguenti proprietà statiche. Amazon MSK imposta e gestisce tutte le altre proprietà che non hai impostato. È possibile creare e aggiornare file di configurazione statici dalla console MSK o utilizzando il comando [configurations](msk-configuration-operations-create.md).


| Proprietà | Description | Valore predefinito | 
| --- | --- | --- | 
|  allow.everyone.if.no.acl.found  |  Se vuoi impostare questa proprietà su false, assicurati innanzitutto di definire Apache Kafka ACLs per il tuo cluster. Se impostate questa proprietà su false e non definite prima Apache Kafka ACLs, perderete l'accesso al cluster. In tal caso, puoi aggiornare nuovamente la configurazione e impostare questa proprietà su true per riottenere l'accesso al cluster.  |  true  | 
|  auto.create.topics.enable  |  Abilita la creazione automatica di un argomento sul server.  |  false  | 
| compression.type |  Specificate il tipo di compressione finale per un determinato argomento. Questa configurazione accetta i codec di compressione standard: gzip, snappy, lz4, zstd. Questa configurazione accetta inoltre`uncompressed`, il che equivale a non comprimere nulla`producer`, e ciò significa mantenere il codec di compressione originale impostato dal produttore. | Apache Kafka (impostazione predefinita) | 
|  connections.max.idle.ms  |  Timeout delle connessioni inattive in millisecondi. I thread del processore dei socket del server chiudono le connessioni inattive per un periodo superiore al valore impostato per questa proprietà.  |  Apache Kafka predefinito  | 
|  delete.topic.enable  |  Abilita l'operazione di eliminazione argomento. Se questa configurazione è disattivata, non è possibile eliminare un argomento tramite lo strumento di amministrazione.  |  Apache Kafka predefinito  | 
|  group.initial.rebalance.delay.ms  |   Il tempo durante il quale il coordinatore del gruppo attende che altri consumatori si uniscano a un nuovo gruppo prima di eseguire il primo ribilanciamento. Un ritardo più lungo significa potenzialmente meno ribilanciamenti, ma aumenta il tempo prima dell'inizio dell'elaborazione.  |  Apache Kafka predefinito  | 
|  group.max.session.timeout.ms  |  Timeout sessione massimo per i consumatori registrati. Timeout più lunghi offrono ai consumatori più tempo per elaborare i messaggi tra heartbeat, ma implicano un aumento del tempo richiesto per rilevare gli errori.  |  Apache Kafka predefinito  | 
|  leader.imbalance.per.broker.percentage  |  Il rapporto di squilibrio leader consentito per broker. Il controller attiva un bilanciamento dei leader se supera questo valore per broker. Questo valore è specificato in percentuale.  |  Apache Kafka predefinito  | 
| log.cleanup.policy | La policy di pulizia predefinita per i segmenti oltre la finestra di conservazione. Un elenco separato da virgole di policy valide. Policy valide sono delete e compact. Per i cluster abilitati allo storage su più livelli, è valida solo la policy. delete | Apache Kafka (impostazione predefinita) | 
| log.message.timestamp.after.max.ms |  La differenza di timestamp consentita tra il timestamp del messaggio e il timestamp del broker. Il timestamp del messaggio può essere successivo o uguale al timestamp del broker, con la differenza massima consentita determinata dal valore impostato in questa configurazione. Se`log.message.timestamp.type=CreateTime`, il messaggio verrà rifiutato se la differenza nei timestamp supera la soglia specificata. Questa configurazione viene ignorata se. `log.message.timestamp.type=LogAppendTime`  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, ovvero 1 giorno) | 
| log.message.timestamp.before.max.ms |  La differenza di timestamp consentita tra il timestamp del broker e il timestamp del messaggio. Il timestamp del messaggio può essere precedente o uguale al timestamp del broker, con la differenza massima consentita determinata dal valore impostato in questa configurazione. Se`log.message.timestamp.type=CreateTime`, il messaggio verrà rifiutato se la differenza nei timestamp supera la soglia specificata. Questa configurazione viene ignorata se. `log.message.timestamp.type=LogAppendTime`  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, ovvero 1 giorno) | 
| log.message.timestamp.type | Specifica se il timestamp nel messaggio è l'ora di creazione del messaggio o l'ora di aggiunta del log. I valori consentiti sono CreateTime e LogAppendTime. | Apache Kafka predefinito | 
| log.retention.bytes | Dimensione massima del log prima dell'eliminazione. | Apache Kafka predefinito | 
| log.retention.ms | Numero di millisecondi per conservare un file di registro prima di eliminarlo. | Apache Kafka (impostazione predefinita) | 
| numero massimo di connessioni per ip | Il numero massimo di connessioni consentite da ogni indirizzo IP. Questo valore può essere impostato su 0 se sono presenti sostituzioni configurate utilizzando la max.connections.per.ip.overrides proprietà. Le nuove connessioni dall'indirizzo IP vengono interrotte se viene raggiunto il limite. | Apache Kafka (impostazione predefinita) | 
|  max.incremental.fetch.session.cache.slots  |  Numero massimo di sessioni di recupero incrementali che vengono mantenute.  |  Apache Kafka predefinito  | 
| message.max.bytes |  Dimensione massima del batch di record consentita da Kafka. Se aumenti questo valore e sono presenti consumatori più vecchi di 0.10.2, anche le dimensioni di recupero dei consumatori devono essere incrementate in modo che possano recuperare batch di record di queste dimensioni. Nella versione più recente del formato del messaggio, i messaggi vengono sempre raggruppati in batch per maggiore efficienza. Nelle versioni precedenti del formato del messaggio, i record non compressi non sono raggruppati in batch; in tal caso, questo limite si applica solo a un singolo record. Puoi impostare questo valore per argomento con la configurazione a livello di argomento. `max.message.bytes`  | Apache Kafka predefinito | 
|  num.partitions  |  Numero predefinito di partizioni per argomento.  |  1  | 
|  offsets.retention.minutes  |  Dopo che un gruppo di consumatori perde tutti i suoi consumatori (ovvero, diventa vuoto) i suoi offset vengono mantenuti per questo periodo di conservazione prima di essere scartati. Per i consumatori autonomi (ovvero quelli che utilizzano l'assegnazione manuale), gli offset scadono dopo l'ultimo commit più questo periodo di conservazione.  |  Apache Kafka predefinito  | 
|  replica.fetch.max.bytes  |  Numero di byte di messaggi da recuperare per ogni partizione. Questo valore non è un massimo assoluto. Se il primo batch di record nella prima partizione non vuota del recupero è più grande di questo valore, viene restituito il batch di record per garantire l'avanzamento. La proprietà message.max.bytes (configurazione broker) o max.message.bytes (configurazione argomento) specifica la dimensione massima del batch di record accettata dal broker.  |  Apache Kafka predefinito  | 
|  replica.selector.class  |  Il nome completo della classe che implementa. ReplicaSelector Il broker utilizza questo valore per trovare la replica di lettura preferita. Se desideri consentire ai consumatori di eseguire il recupero dalla replica più vicina, imposta questa proprietà su. `org.apache.kafka.common.replica.RackAwareReplicaSelector`  |  Apache Kafka (impostazione predefinita)  | 
|  socket.receive.buffer.bytes  |  Buffer SO\$1RCVBUF dei socket del server dei socket. Se il valore è -1, viene utilizzato il sistema operativo predefinito.  |  102400  | 
|  socket.request.max.bytes  |  Numero massimo di byte in una richiesta socket.  |  104857600  | 
|  socket.send.buffer.bytes  |  Buffer SO\$1SNDBUF dei socket del server dei socket. Se il valore è -1, viene utilizzato il sistema operativo predefinito.  |  102400  | 
|  transaction.max.timeout.ms  |  Timeout massimo per transazioni. Se il tempo di transazione richiesto da un cliente supera questo valore, il broker restituisce un errore in. InitProducerIdRequest Ciò evita un timeout troppo elevato per un client, che può rallentare i consumatori che leggono dagli argomenti inclusi nella transazione.  |  Apache Kafka (impostazione predefinita)  | 
|  transactional.id.expiration.ms  |  Il tempo in millisecondi durante il quale il coordinatore della transazione attende di ricevere eventuali aggiornamenti sullo stato delle transazioni per la transazione corrente prima che il coordinatore faccia scadere il proprio ID transazionale. Questa impostazione influenza anche la scadenza dell'ID del produttore perché fa scadere IDs il produttore quando questo tempo è trascorso dall'ultima scrittura con l'ID produttore specificato. Producer IDs potrebbe scadere prima se l'ultima scrittura dall'ID produttore viene eliminata a causa delle impostazioni di conservazione dell'argomento. Il valore minimo per questa proprietà è 1 millisecondo.  |  Apache Kafka (impostazione predefinita)  | 

## Configurazioni dinamiche su Express Brokers
<a name="msk-configuration-express-dynamic-configuration"></a>

Puoi utilizzare l' AlterConfig API Apache Kafka o lo strumento Kafka-configs.sh per modificare le seguenti configurazioni dinamiche. Amazon MSK imposta e gestisce tutte le altre proprietà che non hai impostato. Puoi impostare dinamicamente proprietà di configurazione a livello di cluster e di broker che non richiedono il riavvio del broker.


| Proprietà | Description | Valore predefinito | 
| --- | --- | --- | 
|  advertised.listeners  |  Listener da pubblicare per l'utilizzo da parte dei client, se diversi dalla proprietà config. `listeners` Negli ambienti IaaS, potrebbe essere necessario che questa sia diversa dall'interfaccia a cui si collega il broker. Se questo non è impostato, verrà utilizzato il valore per gli ascoltatori. A differenza degli ascoltatori, non è valido pubblicizzare il meta-indirizzo 0.0.0.0. Inoltre`listeners`, a differenza di questa proprietà, possono esserci porte duplicate, in modo che un listener possa essere configurato per annunciare l'indirizzo di un altro listener. Ciò può essere utile in alcuni casi in cui vengono utilizzati sistemi di bilanciamento del carico esterni. Questa proprietà è impostata a livello di broker.  |  null  | 
|  compression.type  |  Il tipo di compressione finale per un determinato argomento. Puoi impostare questa proprietà sui codec di compressione standard (`gzip`, `snappy`, `lz4` e `zstd`). Inoltre, accetta `uncompressed`. Questo valore equivale a nessuna compressione. Se imposti il valore su `producer`, significa mantenere il codec di compressione originale impostato dal produttore.  | Apache Kafka predefinito | 
| log.cleaner.delete.retention.ms | Il periodo di tempo necessario per conservare i marker di eliminazione di tombstone per gli argomenti con log compattati. Questa impostazione stabilisce anche un limite al tempo in cui un consumatore deve completare una lettura se inizia dall'offset 0 per assicurarsi di ottenere un'istantanea valida della fase finale. Altrimenti, le lapidi eliminate potrebbero essere raccolte prima che completino la scansione. | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, ovvero 1 giorno), Apache Kafka Default | 
| log.cleaner.min.compaction.lag.ms | Il periodo minimo di tempo in cui un messaggio rimarrà non compattato nel registro. Questa impostazione è applicabile solo ai log che vengono compattati. | 0, Apache Kafka predefinito | 
| log.cleaner.max.compaction.lag.ms | Il periodo massimo di tempo in cui un messaggio rimarrà non idoneo per la compattazione nel registro. Questa impostazione è applicabile solo ai log che vengono compattati. Questa configurazione sarebbe limitata all'intervallo di [7 giorni, Long.Max]. | 9223372036854775807, impostazione predefinita di Apache Kafka | 
|  log.cleanup.policy  |  La policy di pulizia predefinita per i segmenti oltre la finestra di conservazione. Un elenco separato da virgole di policy valide. Policy valide sono `delete` e `compact`. Per i cluster abilitati allo storage su più livelli, è valida solo la policy. `delete`  | Apache Kafka (impostazione predefinita) | 
|  log.message.timestamp.after.max.ms  |  La differenza di timestamp consentita tra il timestamp del messaggio e il timestamp del broker. Il timestamp del messaggio può essere successivo o uguale al timestamp del broker, con la differenza massima consentita determinata dal valore impostato in questa configurazione. Se`log.message.timestamp.type=CreateTime`, il messaggio verrà rifiutato se la differenza nei timestamp supera la soglia specificata. Questa configurazione viene ignorata se. `log.message.timestamp.type=LogAppendTime`  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, ovvero 1 giorno) | 
|  log.message.timestamp.before.max.ms  |  La differenza di timestamp consentita tra il timestamp del broker e il timestamp del messaggio. Il timestamp del messaggio può essere precedente o uguale al timestamp del broker, con la differenza massima consentita determinata dal valore impostato in questa configurazione. Se`log.message.timestamp.type=CreateTime`, il messaggio verrà rifiutato se la differenza nei timestamp supera la soglia specificata. Questa configurazione viene ignorata se. `log.message.timestamp.type=LogAppendTime`  | 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, ovvero 1 giorno) | 
|  log.message.timestamp.type  |  Specifica se il timestamp nel messaggio è l'ora di creazione del messaggio o l'ora di aggiunta del log. I valori consentiti sono `CreateTime` e `LogAppendTime`.  | Apache Kafka predefinito | 
|  log.retention.bytes  |  Dimensione massima del log prima dell'eliminazione.  |  Apache Kafka predefinito  | 
|  log.retention.ms  |  Numero di millisecondi per conservare un file di registro prima di eliminarlo.  |  Apache Kafka (impostazione predefinita)  | 
|  max.connection.creation.rate  |  La velocità massima di creazione della connessione consentita nel broker in qualsiasi momento.  |  Apache Kafka (impostazione predefinita)  | 
|  numero massimo di connessioni  |  Il numero massimo di connessioni consentite nel broker in qualsiasi momento. Questo limite viene applicato in aggiunta a qualsiasi limite per IP configurato utilizzando. `max.connections.per.ip`  |  Apache Kafka (impostazione predefinita)  | 
|  numero massimo di connessioni per ip  |  Il numero massimo di connessioni consentite da ogni indirizzo IP. Questo valore può essere impostato su `0` se sono presenti sostituzioni configurate utilizzando la proprietà max.connections.per.ip.overrides. Le nuove connessioni dall'indirizzo IP vengono interrotte se viene raggiunto il limite.  |  Apache Kafka (impostazione predefinita)  | 
|  max.connections.per.ip.overrides  |  Un elenco separato da virgole di per-ip o nome host sostituisce il numero massimo predefinito di connessioni. Un valore di esempio è `hostName:100,127.0.0.1:200`  | Apache Kafka predefinito | 
|  message.max.bytes  |  Dimensione massima del batch di record consentita da Kafka. Se aumenti questo valore e sono presenti consumatori più vecchi di 0.10.2, anche le dimensioni di recupero dei consumatori devono essere incrementate in modo che possano recuperare batch di record di queste dimensioni. Nella versione più recente del formato del messaggio, i messaggi vengono sempre raggruppati in batch per maggiore efficienza. Nelle versioni precedenti del formato del messaggio, i record non compressi non sono raggruppati in batch; in tal caso, questo limite si applica solo a un singolo record. Puoi impostare questo valore per argomento con la configurazione a livello di argomento. `max.message.bytes`  | Apache Kafka predefinito | 
|  producer.id.expiration.ms  |  Il tempo in ms che il leader della partizione di un argomento aspetterà prima che il produttore scada. IDs Il produttore non IDs scadrà finché una transazione ad esso associata è ancora in corso. Tieni presente che producer IDs potrebbe scadere prima se l'ultima scrittura dall'ID del produttore viene eliminata a causa delle impostazioni di conservazione dell'argomento. L'impostazione di questo valore uguale o superiore a `delivery.timeout.ms` può aiutare a prevenire la scadenza durante i nuovi tentativi e a proteggere dalla duplicazione dei messaggi, ma l'impostazione predefinita dovrebbe essere ragionevole per la maggior parte dei casi d'uso.  | Apache Kafka predefinito | 

## Configurazioni a livello di argomento su Express Brokers
<a name="msk-configuration-express-topic-configuration"></a>

Puoi utilizzare i comandi Apache Kafka per impostare o modificare le proprietà di configurazione a livello dell'argomento per argomenti nuovi ed esistenti. Se non puoi fornire alcuna configurazione a livello di argomento, Amazon MSK utilizza il broker predefinito. Come per le configurazioni a livello di broker, Amazon MSK protegge alcune proprietà di configurazione a livello di argomento da eventuali modifiche. Gli esempi includono il fattore di replica e. `min.insync.replicas` `unclean.leader.election.enable` Se tenti di creare un argomento con un valore del fattore di replica diverso da`3`, Amazon MSK creerà l'argomento con un fattore di replica di `3` default. Per ulteriori informazioni sulle proprietà di configurazione a livello di argomento ed esempi di come impostarle, consulta la pagina [Topic-Level Configs](https://kafka.apache.org/documentation/#topicconfigs) nella documentazione ufficiale di Apache Kafka.


| Proprietà | Description | 
| --- | --- | 
|  cleanup.policy  |  Questa configurazione indica la politica di conservazione da utilizzare sui segmenti di log. La politica di «eliminazione» (che è l'impostazione predefinita) eliminerà i vecchi segmenti una volta raggiunto il tempo di conservazione o il limite di dimensione. La politica «compatta» consentirà la compattazione dei log, che conserva il valore più recente per ogni chiave. È anche possibile specificare entrambe le politiche in un elenco separato da virgole (ad esempio, «delete, compact»). In questo caso, i vecchi segmenti verranno eliminati in base alla configurazione del tempo di conservazione e delle dimensioni, mentre i segmenti mantenuti verranno compattati. La compattazione sui broker Express viene attivata dopo che i dati in una partizione raggiungono i 256 MB.  | 
|  compression.type  |  Specificate il tipo di compressione finale per un determinato argomento. Questa configurazione accetta i codec di compressione standard (`gzip`,, `snappy``lz4`,`zstd`). Accetta inoltre ciò `uncompressed` che equivale a nessuna compressione; il `producer` che significa mantenere il codec di compressione originale impostato dal produttore.  | 
| delete.retention.ms |  Il periodo di tempo necessario per conservare i marker di eliminazione di tombstone per gli argomenti con log compattati. Questa impostazione stabilisce anche un limite al tempo in cui un consumatore deve completare una lettura se inizia dall'offset 0 per assicurarsi di ottenere un'istantanea valida della fase finale. Altrimenti, le lapidi eliminate potrebbero essere raccolte prima che completino la scansione. Il valore predefinito per questa impostazione è 86400000 (24 \$1 60 \$1 60 \$1 1000 ms, ovvero 1 giorno), Apache Kafka Default  | 
|  max.message.bytes  |  La dimensione massima del batch di record consentita da Kafka (dopo la compressione, se la compressione è abilitata). Se questa cifra aumenta e ci sono consumatori più vecchi di età`0.10.2`, è necessario aumentare anche la dimensione di recupero dei consumatori in modo che possano recuperare batch di dischi di dimensioni così grandi. Nella versione più recente del tipo di formato, i record vengono sempre raggruppati in batch ai fini dell'efficienza. Nelle versioni precedenti del tipo di formato, i record non compressi non sono raggruppati in batch e questo limite si applica solo a un singolo record in quel caso. Questo può essere impostato per argomento con il livello dell'argomento. `max.message.bytes config`  | 
|  messaggio.timestamp.after.max.ms  |  Questa configurazione imposta la differenza di timestamp consentita tra il timestamp del messaggio e il timestamp del broker. Il timestamp del messaggio può essere successivo o uguale al timestamp del broker, con la differenza massima consentita determinata dal valore impostato in questa configurazione. Se`message.timestamp.type=CreateTime`, il messaggio verrà rifiutato se la differenza nei timestamp supera la soglia specificata. Questa configurazione viene ignorata se. `message.timestamp.type=LogAppendTime`  | 
|  message.timestamp.before.max.ms  |  Questa configurazione imposta la differenza di timestamp consentita tra il timestamp del broker e il timestamp del messaggio. Il timestamp del messaggio può essere precedente o uguale al timestamp del broker, con la differenza massima consentita determinata dal valore impostato in questa configurazione. Se`message.timestamp.type=CreateTime`, il messaggio verrà rifiutato se la differenza nei timestamp supera la soglia specificata. Questa configurazione viene ignorata se. `message.timestamp.type=LogAppendTime`  | 
|  message.timestamp.type  |  Definisce se il timestamp nel messaggio è l'ora di creazione del messaggio o l'ora di aggiunta del registro. Il valore deve essere o `CreateTime` `LogAppendTime`  | 
| min.compaction.lag.ms |  Il periodo minimo di tempo in cui un messaggio rimarrà non compattato nel registro. Questa impostazione è applicabile solo ai log che vengono compattati. Il valore predefinito per questa impostazione è 0, Apache Kafka Default  | 
| max.compaction.lag.ms |  Il periodo massimo di tempo in cui un messaggio rimarrà non idoneo per la compattazione nel registro. Questa impostazione è applicabile solo ai log che vengono compattati. Questa configurazione sarebbe limitata all'intervallo di [7 giorni, Long.Max]. Il valore predefinito per questa impostazione è 9223372036854775807, Apache Kafka Default.  | 
|  retention.bytes  |  Questa configurazione controlla la dimensione massima che una partizione (composta da segmenti di log) può raggiungere prima di eliminare i vecchi segmenti di registro per liberare spazio se utilizziamo la politica di conservazione «elimina». Per impostazione predefinita, non esiste un limite di dimensione, ma solo un limite di tempo. Poiché questo limite viene applicato a livello di partizione, moltiplicalo per il numero di partizioni per calcolare la conservazione dell'argomento in byte. Inoltre, funziona indipendentemente dalle configurazioni e dalle `retention.bytes configuration` configurazioni. `segment.ms` `segment.bytes` Inoltre, attiva il lancio di un nuovo segmento se `retention.bytes` è configurato a zero.  | 
|  retention.ms  |  Questa configurazione controlla il tempo massimo di conservazione di un registro prima di eliminare i vecchi segmenti di registro per liberare spazio se utilizziamo la politica di conservazione «elimina». Ciò rappresenta uno SLA sulla tempistica con cui i consumatori devono leggere i propri dati. Se impostato su`-1`, non viene applicato alcun limite di tempo. Inoltre, la `retention.ms` configurazione funziona indipendentemente dalle `segment.bytes` configurazioni `segment.ms` e. Inoltre, attiva il lancio di un nuovo segmento se la `retention.ms` condizione è soddisfatta.  | 

# Configurazioni di sola lettura di Express Brokers
<a name="msk-configuration-express-read-only"></a>

Amazon MSK imposta i valori per queste configurazioni e le protegge da modifiche che potrebbero influire sulla disponibilità del cluster. Questi valori possono cambiare a seconda della versione di Apache Kafka in esecuzione sul cluster, quindi ricordati di controllare i valori del tuo cluster specifico.

La tabella seguente elenca le configurazioni di sola lettura per i broker Express.


| Proprietà | Description | Valore di Express Broker | 
| --- | --- | --- | 
| broker.id | L'id del broker per questo server. | 1,2,3... | 
| broker.rack | Rack del broker. Questo verrà utilizzato nell'assegnazione della replica in base al rack per la tolleranza ai guasti. Esempi: ``, RACK1 `us-east-1d` | ID AZ o ID di sottorete | 
|  default.replication.factor  |  Fattori di replica predefiniti per tutti gli argomenti.  |  3  | 
| fetch.max.bytes | Il numero massimo di byte che restituiremo per una richiesta di recupero. | Apache Kafka (impostazione predefinita) | 
| dimensione massima del gruppo | Il numero massimo di consumatori che un singolo gruppo di consumatori può ospitare. | Apache Kafka (impostazione predefinita) | 
| inter.broker.listener.name | Nome dell'ascoltatore utilizzato per la comunicazione tra i broker. | REPLICATION\$1SECURE o REPLICATION | 
| inter.broker.protocol. version | Speciifica quale versione del protocollo inter-broker viene utilizzata. | Apache Kafka (impostazione predefinita) | 
| listener | Elenco degli ascoltatori - Elenco separato da virgole dei nomi degli ascoltatori su cui URIs ascolteremo. È possibile impostare iladvertised.listeners property, ma non la proprietà. listeners | Generato da MSK | 
| log.message.format.version | Specificare la versione del formato del messaggio che il broker utilizzerà per aggiungere messaggi ai log. | Apache Kafka predefinito | 
| min.insync.replicas | Quando un produttore imposta acks su `all` (or`-1`), il valore in `min.insync.replicas` specifica il numero minimo di repliche che devono confermare una scrittura affinché la scrittura sia considerata riuscita. Se questo minimo non può essere raggiunto, il produttore solleva un'eccezione (o`NotEnoughReplicas`). `NotEnoughReplicasAfterAppend` Puoi utilizzare il valore degli ack del tuo produttore per far valere maggiori garanzie di durabilità. Impostando acks su «all». Ciò garantisce che il produttore generi un'eccezione se la maggior parte delle repliche non riceve una scrittura. | 2 | 
| num.io.thread | Numero di thread utilizzati dal server per produrre richieste, che possono includere l'I/O del disco. (m7g.large, 8), (m7g.xlarge, 8), (m7g.2xlarge, 16), (m7g.4xlarge, 32), (m7g.8xlarge, 64), (m7g.12xlarge, 96), (m7g.16xlarge, 128) | In base al tipo di istanza. =Math.max (8, 2\$1 v) CPUs | 
| num.network.threads | Numero di thread utilizzati dal server per ricevere richieste dalla rete e inviare risposte alla rete. (m7g.large, 8), (m7g.xlarge, 8), (m7g.2xlarge, 8), (m7g.4xlarge, 16), (m7g.8xlarge, 32), (m7g.12xlarge, 48), (m7g.16xlarge, 64) | In base al tipo di istanza. =Math.max (8, v) CPUs | 
| replica.fetch.response.max.bytes | Il numero massimo di byte previsto per l'intera risposta di recupero. I record vengono recuperati in batch. Se il primo batch di record nella prima partizione non vuota del recupero è più grande di questo valore, il batch di record verrà comunque restituito per garantire l'avanzamento. Questo non è un massimo assoluto. Le proprietà message.max.bytes (broker config) o max.message.bytes (topic config) specificano la dimensione massima del batch di record che il broker accetta. | Apache Kafka (impostazione predefinita) | 
| request.timeout.ms | La configurazione controlla il tempo massimo di attesa del client per la risposta di una richiesta. Se la risposta non viene ricevuta prima dello scadere del timeout, il client invierà nuovamente la richiesta se necessario o fallirà la richiesta se i nuovi tentativi sono esauriti. | Apache Kafka predefinito | 
| transaction.state.log.min.isr | min.insync.replicasConfigurazione sostituita per l'argomento della transazione. | 2 | 
| transaction.state.log.replication.factor | Il fattore di replica per l'argomento di transazione. | Apache Kafka (impostazione predefinita) | 
| unclean.leader.election.enable | Consente alle repliche non incluse nel set ISR di fungere da leader come ultima risorsa, anche se ciò potrebbe comportare la perdita di dati. | FALSE | 

# Operazioni di configurazione del broker
<a name="msk-configuration-operations"></a>

Le configurazioni del broker Apache Kafka sono statiche o dinamiche. Le configurazioni statiche richiedono il riavvio del broker per poter applicare la configurazione. Le configurazioni dinamiche non richiedono il riavvio del broker per aggiornare la configurazione. Per ulteriori informazioni sulle proprietà di configurazione e sulle modalità di aggiornamento, consulta Configurazione di Apache Kafka. 

In questo argomento viene descritto come creare configurazioni MSK personalizzate e come eseguire operazioni su di esse. Per informazioni su come utilizzare configurazioni MSK per creare o aggiornare cluster, consulta [Caratteristiche e concetti chiave di Amazon MSK](operations.md).

**Topics**
+ [Creazione di una configurazione](msk-configuration-operations-create.md)
+ [Aggiornamento della configurazione](msk-configuration-operations-update.md)
+ [Eliminare la configurazione](msk-configuration-operations-delete.md)
+ [Ottieni i metadati di configurazione](msk-configuration-operations-describe.md)
+ [Ottieni dettagli sulla revisione della configurazione](msk-configuration-operations-describe-revision.md)
+ [Elenca le configurazioni presenti nel tuo account per la regione corrente](msk-configuration-operations-list.md)
+ [Stati di configurazione di Amazon MSK](msk-configuration-states.md)

# Creazione di una configurazione
<a name="msk-configuration-operations-create"></a>

Questo processo descrive come creare una configurazione Amazon MSK personalizzata e come eseguire operazioni su di essa.

1. Creare un file in cui specificare le proprietà di configurazione che si desidera impostare e i valori da assegnare alle stesse. Di seguito sono riportati i contenuti di un file di configurazione di esempio.

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

1. Esegui il AWS CLI comando seguente e sostituiscilo *config-file-path* con il percorso del file in cui hai salvato la configurazione nel passaggio precedente.
**Nota**  
Il nome scelto per la configurazione deve corrispondere alla seguente espressione regolare: "^[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
   ```

   Di seguito è riportato un esempio di una risposta corretta dopo l'esecuzione di questo comando.

   ```
   {
       "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. Il comando precedente restituisce un nome della risorsa Amazon (ARN) per la configurazione appena creata. Salvare questo ARN perché occorre per fare riferimento a questa configurazione in altri comandi. Se l'ARN della configurazione viene perso, è possibile trovarlo nuovamente elencando tutte le configurazioni presenti nell'account.

# Aggiornamento della configurazione
<a name="msk-configuration-operations-update"></a>

Questo processo descrive come aggiornare una configurazione Amazon MSK personalizzata.

1. Crea un file in cui specificare le proprietà di configurazione che desideri aggiornare e i valori da assegnare alle stesse. Di seguito sono riportati i contenuti di un file di configurazione di esempio.

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

1. Esegui il AWS CLI comando seguente e sostituiscilo *config-file-path* con il percorso del file in cui hai salvato la configurazione nel passaggio precedente.

   Sostituisci *configuration-arn* con l'ARN che hai ottenuto quando hai creato la configurazione. Se l'ARN non è stato salvato al momento della creazione della configurazione, è possibile utilizzare il comando `list-configurations` per elencare tutte le configurazioni presenti nell'account. La configurazione desiderata viene visualizzata nell'elenco di risposta. L'ARN della configurazione viene visualizzato anche in tale elenco.

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

1. Di seguito è riportato un esempio di una risposta corretta dopo l'esecuzione di questo comando.

   ```
   {
       "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
       }
   }
   ```

# Eliminare la configurazione
<a name="msk-configuration-operations-delete"></a>

Nella procedura seguente viene illustrato come eliminare una configurazione non collegata a un cluster. Non è possibile eliminare una configurazione collegata a un cluster.

1. Per eseguire questo esempio, sostituiscilo *configuration-arn* con l'ARN che hai ottenuto quando hai creato la configurazione. Se l'ARN non è stato salvato al momento della creazione della configurazione, è possibile utilizzare il comando `list-configurations` per elencare tutte le configurazioni presenti nell'account. La configurazione desiderata viene visualizzata nell'elenco di risposta. L'ARN della configurazione viene visualizzato anche in tale elenco.

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

1. Di seguito è riportato un esempio di una risposta corretta dopo l'esecuzione di questo comando.

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

# Ottieni i metadati di configurazione
<a name="msk-configuration-operations-describe"></a>

La procedura seguente mostra come descrivere una configurazione Amazon MSK per ottenere i metadati relativi alla configurazione.

1. Il comando seguente restituisce i metadati relativi alla configurazione. Per ottenere una descrizione dettagliata della configurazione, eseguire `describe-configuration-revision`.

   Per eseguire questo esempio, sostituiscilo *configuration-arn* con l'ARN che hai ottenuto quando hai creato la configurazione. Se l'ARN non è stato salvato al momento della creazione della configurazione, è possibile utilizzare il comando `list-configurations` per elencare tutte le configurazioni presenti nell'account. La configurazione desiderata viene visualizzata nell'elenco di risposta. L'ARN della configurazione viene visualizzato anche in tale elenco.

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

1. Di seguito è riportato un esempio di una risposta corretta dopo l'esecuzione di questo comando.

   ```
   {
       "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"
   }
   ```

# Ottieni dettagli sulla revisione della configurazione
<a name="msk-configuration-operations-describe-revision"></a>

Questo processo consente di ottenere una descrizione dettagliata della revisione della configurazione di Amazon MSK.

Se utilizzi il comando `describe-configuration` per descrivere una configurazione MSK, visualizzerai i metadati della configurazione. Per ottenere una descrizione dettagliata della configurazione, utilizza il comando `describe-configuration-revision`.
+ Esegui il comando seguente e sostituiscilo *configuration-arn* con l'ARN ottenuto quando hai creato la configurazione. Se l'ARN non è stato salvato al momento della creazione della configurazione, è possibile utilizzare il comando `list-configurations` per elencare tutte le configurazioni presenti nell'account. La configurazione desiderata viene visualizzata nell'elenco di risposta. L'ARN della configurazione viene visualizzato anche in tale elenco.

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

  Di seguito è riportato un esempio di una risposta corretta dopo l'esecuzione di questo comando.

  ```
  {
      "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"
  }
  ```

  Il valore di `ServerProperties` è codificato con base64. Se si utilizza un decodificatore base64 (ad esempio, https://www.base64decode.org/) per decodificarlo manualmente, si ottiene il contenuto del file di configurazione originale utilizzato per creare la configurazione personalizzata. In questo caso, si ottiene quanto segue:

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

# Elenca le configurazioni presenti nel tuo account per la regione corrente
<a name="msk-configuration-operations-list"></a>

Questo processo descrive come elencare tutte le configurazioni Amazon MSK nel tuo account per la regione corrente AWS .
+ Eseguire il seguente comando seguente.

  ```
  aws kafka list-configurations
  ```

  Di seguito è riportato un esempio di una risposta corretta dopo l'esecuzione di questo comando.

  ```
  {
      "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"
          }
      ]
  }
  ```

# Stati di configurazione di Amazon MSK
<a name="msk-configuration-states"></a>

Una configurazione Amazon MSK può trovarsi in uno dei seguenti stati. Per eseguire un'operazione su una configurazione, la configurazione deve trovarsi nello stato `ACTIVE` o `DELETE_FAILED`:
+ `ACTIVE`
+ `DELETING`
+ `DELETE_FAILED`