为 CloudWatch 和 Amazon 配置一致性通知 SQS - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 CloudWatch 和 Amazon 配置一致性通知 SQS

您可以在 Amazon S3 中启用 CloudWatch 指标和亚马逊SQS消息,EMRFS以解决 Amazon S3 最终一致性问题。

CloudWatch

启用 CloudWatch 指标后,由于 Amazon S3 的最终一致性,每次FileSystemAPI调用失败时,都会推送名为 “不一致” 的指标。

查看 Amazon S3 最终一致性问题的 CloudWatch 指标

要在 CloudWatch 控制台中查看不一致性指标,请选择EMRFS指标,然后选择 JobFlowId/指标名称对。例如:j-162XXXXXXM2CU ListStatusj-162XXXXXXM2CU GetFileStatus 等。

  1. 打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/

  2. 控制面板的 “指标” 部分中,选择EMRFS

  3. Job Flow Metrics 窗格中,选择一个或多个 JobFlowId/指标名称对。将在下面的窗口中显示指标的图形表示。

Amazon SQS

启用亚马逊SQS通知后,将在初始化时EMRFS创建名称EMRFS-Inconsistency-<jobFlowId>为的亚马逊SQS队列。由于 Amazon S3 的最终一致性,当FileSystemAPI呼叫失败时,Amazon SQS 消息会被推送到队列中。该消息包含诸如 JobFlowId、API、不一致路径列表、堆栈跟踪等信息。可以使用 Amazon SQS 控制台或EMRFSread-sqs命令读取消息。

管理 Amazon S3 最终一致性问题的亚马逊SQS消息

使用 Amazon S3 的最终一致性问题可以读取 Amazon S3 的SQS消息EMRFSCLI。要从 A EMRFS mazon SQS 队列读取消息,请键入read-sqs命令并在主节点的本地文件系统上为生成的输出文件指定输出位置。

您也可以使用delete-sqs命令删除 A EMRFS mazon SQS 队列。

  1. 要从 Amazon SQS 队列读取消息,请键入以下命令。Replace(替换) queuename 使用您配置并替换的 Amazon SQS 队列的名称 /path/filename 包含输出文件的路径:

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

    例如,要读取和输出默认队列中的 Amazon SQS 消息,请键入:

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

    还可以分别使用 -q-o 快捷方式代替 --queue-name--output-file

  2. 要删除 Amazon SQS 队列,请键入以下命令:

    emrfs delete-sqs --queue-name queuename

    例如,要删除默认队列,请键入:

    emrfs delete-sqs --queue-name EMRFS-Inconsistency-j-162XXXXXXM2CU
    注意

    还可以使用 -q 快捷方式代替 --queue-name