Perché il mio cluster Amazon MSK va in stato di HEALING?

4 minuti di lettura
0

Desidero risolvere i problemi del mio cluster Streaming gestito da Amazon per Apache Kafka (Amazon MSK) in stato HEALING.

Risoluzione

Il tuo cluster Amazon MSK entra nello stato HEALING quando il servizio esegue un'operazione interna per risolvere un problema (esempio: i broker non rispondono). Puoi comunque utilizzare il cluster per produrre e consumare dati. Non puoi eseguire operazioni di aggiornamento dell'API di Amazon MSK o dell'interfaccia della linea di comando AWS (AWS CLI) sul cluster finché non ritorna allo stato ACTIVE.

Usa le metriche di Amazon CloudWatch per Amazon MSK per scoprire perché il cluster è in stato HEALING:

  1. Apri la console CloudWatch.
  2. Nel pannello di navigazione, scegli Parametri, quindi scegli Tutti i parametri.
  3. Nella scheda Sfoglia scegli AWS/Kafka.
  4. In Parametri, scegli Nome cluster.
  5. Seleziona il cluster che desideri monitorare.
    Eventuali picchi nel parametro ActiveControllerCount o OfflinePartitionsCount indicano che uno o più broker non sono integri. Questo potrebbe aver portato il tuo cluster allo stato HEALING.
  6. Per i parametri a livello di broker, scegli Broker ID, Nome Cluster inParametri.
  7. Dall'elenco, seleziona le voci con il nome del cluster e i parametri CpuUser e CpuSystem. Controlla se la somma di questi due valori per tutte le voci raggiunge una media superiore al 60% per il cluster. In tal caso l'elevato utilizzo della CPU potrebbe aver causato il passaggio del broker allo stato HEALING. Per ulteriori informazioni sul monitoraggio dell'utilizzo della CPU, consulta Best practice - monitoraggio dell’utilizzo della CPU.

Di seguito sono riportati i motivi più comuni per cui un cluster Amazon MSK passa allo stato HEALING:

  • Un nodo o un volume Amazon Elastic Block Store (Amazon EBS) deve essere sostituito a causa di un guasto hardware.
  • Un nodo non soddisfa l’Accordo sul livello di servizio relativo alle prestazioni di Amazon MSK per il broker; il nodo deve essere sostituito per ottenere prestazioni ottimali.

Tieni presente che Amazon MSK è un servizio completamente gestito. Pertanto, i broker dispongono di flussi di lavoro autogestiti che eseguono azioni correttive su se stessi, come la sostituzione dei nodi in caso di guasto. Quando un volume Amazon EBS di un broker non è più integro, Amazon MSK osserva lo stato del volume per un certo periodo di tempo. Se il volume ridiventa integro durante questo periodo, non viene eseguita alcuna azione. Se il volume continua a non essere integro dopo questo periodo, Amazon MSK lo sostituisce automaticamente. Il cluster entra nello stato HEALING quando Amazon MSK esegue queste azioni. Tuttavia, ciò non influisce sulla disponibilità del cluster Amazon MSK purché si seguano le best practice. Anche quando il broker è in stato HEALING, il cluster può gestire le richieste di produttori e consumatori.

In rari casi un cluster potrebbe entrare in uno stato HEALING permanente. Ciò potrebbe essere dovuto ai seguenti motivi:

  • Il carico di lavoro sul cluster è elevato e i broker vengono continuamente sostituiti. Per evitare questo problema, è consigliabile non utilizzare istanze t3.small per ospitare cluster di produzione. Se utilizzi istanze m5, assicurati di aver scelto la dimensione giusta per il tuo cluster. È possibile determinare la dimensione ottimale di un cluster in base al carico di lavoro e monitorando l'utilizzo della CPU. Occorre inoltre assicurarsi che il numero di partizioni per broker non superi il valore consigliato.
  • Il gruppo con dimensionamento automatico non è in grado di avviare una nuova istanza. Questo può accadere a causa di un problema interno o di una dipendenza mancante. Ad esempio, la chiave del Servizio di gestione delle chiavi AWS (AWS KMS) specificata durante la creazione del cluster potrebbe non essere più accessibile.
  • Un raro evento interno ha influito sulla disponibilità delle istanze Amazon Elastic Compute Cloud (Amazon EC2) sottostanti o ha causato la latenza di Amazon EBS in una zona di disponibilità o in una regione AWS.

Se il tuo cluster rimane in uno stato di HEALING permanente non causato dal carico, contatta il Supporto AWS.

Informazioni correlate

Stati del cluster

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa