本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为 CloudWatch 和 Amazon 配置一致性通知 SQS
您可以在 Amazon S3 中启用 CloudWatch 指标和亚马逊SQS消息,EMRFS以解决 Amazon S3 最终一致性问题。
CloudWatch
启用 CloudWatch 指标后,由于 Amazon S3 的最终一致性,每次FileSystem
API调用失败时,都会推送名为 “不一致” 的指标。
查看 Amazon S3 最终一致性问题的 CloudWatch 指标
要在 CloudWatch 控制台中查看不一致性指标,请选择EMRFS指标,然后选择 JobFlowId/指标名称对。例如:j-162XXXXXXM2CU ListStatus
、j-162XXXXXXM2CU
GetFileStatus
等。
-
打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/
。 -
在控制面板的 “指标” 部分中,选择EMRFS。
-
在 Job Flow Metrics 窗格中,选择一个或多个 JobFlowId/指标名称对。将在下面的窗口中显示指标的图形表示。
Amazon SQS
启用亚马逊SQS通知后,将在初始化时EMRFS创建名称EMRFS-Inconsistency-<jobFlowId>
为的亚马逊SQS队列。由于 Amazon S3 的最终一致性,当FileSystem
API呼叫失败时,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 队列。
-
要从 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
。 -
要删除 Amazon SQS 队列,请键入以下命令:
emrfs delete-sqs --queue-name
queuename
例如,要删除默认队列,请键入:
emrfs delete-sqs --queue-name
EMRFS-Inconsistency-j-162XXXXXXM2CU
注意
还可以使用
-q
快捷方式代替--queue-name
。