Configurazione di notifiche di coerenza per CloudWatch e Amazon SQS - Amazon EMR

Configurazione di notifiche di coerenza per CloudWatch e Amazon SQS

Puoi attivare i parametri di CloudWatch e i messaggi di Amazon SQS in EMRFS per problemi di consistenza finale in Amazon S3.

CloudWatch

Quando i parametri di CloudWatch sono attivati, un parametro denominato Inconsistency (Incoerenza) viene trasmesso ogni volta che una chiamata API FileSystem non riesce a causa della consistenza finale di Amazon S3.

Visualizzazione dei parametri di CloudWatch per i problemi di consistenza finale di Amazon S3

Per visualizzare il parametro Incosistency (Incoerenza) nella console di CloudWatch, seleziona i parametri di EMRFS e, in seguito, seleziona una coppia JobFlowId/Metric Name (Nome parametro). Ad esempio: j-162XXXXXXM2CU ListStatus, j-162XXXXXXM2CU GetFileStatus e così via.

  1. Aprire la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. In Dashboard (Pannello di controllo), nella sezione Metrics (Parametri), scegliere EMRFS.

  3. Nel riquadro Job Flow Metrics (Parametri flusso di elaborazione), selezionare una o più coppie JobFlowId/Metric Name (Nome parametro). Una rappresentazione grafica dei parametri è visualizzata nella finestra illustrata di seguito.

Amazon SQS

Quando le notifiche di Amazon SQS sono attivate, una coda Amazon SQS denominata EMRFS-Inconsistency-<jobFlowId> viene creata all'inizializzazione di EMRFS. I messaggi di Amazon SQS sono trasmessi alla coda quando una chiamata API FileSystem non riesce a causa della consistenza finale di Amazon S3. Il messaggio contiene informazioni quali JobFlowId, API, un elenco di percorsi inconsistenti, uno traccia di stack e così via. I messaggi possono essere letti utilizzando la console di Amazon SQS o il comando read-sqs di EMRFS.

Gestione dei messaggi di Amazon SQS per i problemi di consistenza finale di Amazon S3

È possibile leggere i messaggi Amazon SQS per i problemi di consistenza finale di Amazon S3 mediante la CLI di EMRFS. Per leggere i messaggi da una coda Amazon SQS di EMRFS, digita il comando read-sqs e specifica un percorso di output nel file system locale del nodo master per il file di output risultante.

È anche possibile eliminare una coda Amazon SQS di EMRFS utilizzando il comando delete-sqs.

  1. Per leggere i messaggi da una coda Amazon SQS, digita il comando seguente. Sostituisci queuename con il nome della coda Amazon SQS configurata e sostituisci /path/filename con il percorso del file di output:

    emrfs read-sqs --queue-name queuename --output-file /path/filename

    Ad esempio, per leggere i messaggi di output di Amazon SQS dalla coda predefinita, digita:

    emrfs read-sqs --queue-name EMRFS-Inconsistency-j-162XXXXXXM2CU --output-file /path/filename
    Nota

    È inoltre possibile utilizzare le scelte rapide -q e -o anziché --queue-name e --output-file.

  2. Per eliminare una coda Amazon SQS, digita il comando seguente:

    emrfs delete-sqs --queue-name queuename

    Ad esempio, per eliminare la coda predefinita, digitare:

    emrfs delete-sqs --queue-name EMRFS-Inconsistency-j-162XXXXXXM2CU
    Nota

    È anche possibile utilizzare la scelta rapida -q anziché --queue-name.