本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
一致视图
警告
2023 年 6 月 1 日,EMRFS一致观点将终止对未来亚马逊EMR版本的标准支持。EMRFS一致的视图将继续适用于现有版本。
随着 2020 年 12 月 1 日发布的 Amazon S3 强 read-after-write 一致性,您不再需要对您的亚马逊EMR集群使用EMRFS一致视图 (EMRFSCV)。EMRFSCV 是一项可选功能,允许亚马逊EMR集群检查 Amazon S3 对象的列表和 read-after-write 一致性。当您创建集群并启用 EMRFS CV 时,Amazon EMR 会创建一个 Amazon DynamoDB 数据库来存储用于跟踪 S3 对象列表 read-after-write 和一致性的对象元数据。现在,您可以关闭 EMRFS CV 并删除它使用的 DynamoDB 数据库,这样就不会产生额外费用。以下过程说明了如何检查、关闭 CV 功能以及删除该功能使用的 DynamoDB 数据库。
检查你是否在使用 C EMRFS V 功能
-
导航到 Configuration(配置)选项卡。如果您的集群具有以下配置,则它将使用 EMRFS CV。
Classification=emrfs-site,Property=fs.s3.consistent,Value=true
-
或者,使用 Amazon CLI 来描述您的集群
describe-cluster
API。如果输出包含fs.s3.consistent: true
,则您的集群使用 EMRFS CV。
关闭您的 Amazon EMR 集群上的 EMRFS CV
要关闭 EMRFS CV 功能,请使用以下三个选项之一。在将这些选项应用到生产环境之前,应先在测试环境中测试它们。
-
停止现有集群并启动一个没有 EMRFS CV 选项的新集群。
-
在停止集群之前,请务必备份数据并通知用户。
-
要停止集群,请按照终止集群中的说明操作。
-
如果您使用 Amazon EMR 控制台创建新集群,请导航至高级选项。在编辑软件设置部分,取消选择开启 EMRFS CV 的选项。如果EMRFS一致视图复选框可用,请将其保持未选中状态。
-
如果您 Amazon CLI 使用创建新集群
create-cluster
API,请不要使用开启 EMRFS CV 的--emrfs
选项。 -
如果您使用SDK或 Amazon CloudFormation 创建新集群,请不要使用配置一致视图中列出的任何配置。
-
-
克隆集群并删除 EMRFS CV
-
在 Amazon EMR 控制台中,选择使用 EMRFS CV 的集群。
-
在 Cluster Details(集群详细信息)页面顶部,选择 Clone(克隆)。
-
选择 Previous(上一步)并导航至 Step 1: Software and Steps(步骤 1:软件和步骤)。
-
在 “编辑软件设置” 中,删除 EMRFS CV。在 Edit configuration(编辑配置)椎间盘每个。删除
emrfs-site
分类中的以下配置。如果您JSON从 S3 存储桶加载,则必须修改您的 S3 对象。[ {"classification": "emrfs-site", "properties": { "fs.s3.consistent.retryPeriodSeconds":"10", "fs.s3.consistent":"true", "fs.s3.consistent.retryCount":"5", "fs.s3.consistent.metadata.tableName":"EmrFSMetadata" } } ]
-
-
从使用实例组的集群中删除 EMRFS CV
-
使用以下命令检查单个EMR集群是否使用EMRFS与 CV 关联的 DynamoDB 表,或者多个集群是否共享该表。表名称在
fs.s3.consistent.metadata.tableName
中指定,如 Configure consistent view(配置一致视图)中所述。EMRFSCV 使用的默认表名是EmrFSMetadata
。aws emr describe-cluster --cluster-id j-XXXXX | grep fs.s3.consistent.metadata.tableName
-
如果您的集群不与其他集群共享您的 DynamoDB 数据库,请使用以下命令重新配置集群并停用 CV。EMRFS有关更多信息,请参阅重新配置正在运行的集群中的实例组。
aws emr modify-instance-groups --cli-input-json file://disable-emrfs-1.json
此命令打开要修改的文件。请使用以下配置修改此文件。
{ "ClusterId": "j-xxxx", "InstanceGroups": [ { "InstanceGroupId": "ig-xxxx", "Configurations": [ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent": "false" }, "Configurations": [] } ] } ] }
-
如果您的集群与其他集群共享 DynamoDB 表,请在没有群集修改共享 S3 位置中的任何对象时EMRFS关闭所有集群上的 CV。
-
删除与 CV 关联的亚马逊 DynamoDB 资源 EMRFS
从 Amazon EMR 集群中移除 EMRFS CV 后,删除与 CV 关联的 DynamoDB 资源。EMRFS在此之前,您将继续产生与 CV 相关的 DynamoDB 费用。EMRFS
-
检查您的 DynamoDB 表的 CloudWatch 指标,并确认该表未被任何集群使用。
-
删除 DynamoDB 表。
aws dynamodb delete-table --table-name
<your-table-name>
删除与 EMRFS CV 关联的 Amazon SQS 资源
-
如果您将集群配置为向 Amazon 推送不一致通知SQS,则可以删除所有SQS队列。
-
查找中指定的 Amazon SQS 队列名称
fs.s3.consistent.notification.SQS.queueName
,如配置一致视图中所述。默认队列名称格式为EMRFS-Inconsistency-
。<j-cluster ID>
aws sqs list-queues | grep ‘EMRFS-Inconsistency’ aws sqs delete-queue –queue-url
<your-queue-url>
要停止使用 EMRFS CLI
-
EMRFSCLI管理 EMRFS CV 生成的元数据。随着对 EMRFS CV的标准支持在Amazon的未来版本中接近尾声EMR,对简历的支持也EMRFSCLI将接近尾声。