Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

配置一致视图

您可以为一致视图配置其他设置,方法是使用 emrfs-site 属性的配置属性来提供这些设置。例如,您可以选择其他的默认 DynamoDB 吞吐量 (方式是将以下参数提供给 CLI --emrfs 选项,使用 emrfs-site 配置分类 (仅限 Amazon EMR 发布版 4.x 及更高版本)) 或引导操作来配置主节点上的 emrfs-site.xml 文件:

例 在集群启动时更改默认元数据读取和写入值

aws emr create-cluster --release-label emr-5.13.0 --instance-type m4.large \ --emrfs Consistent=true,Args=[fs.s3.consistent.metadata.read.capacity=600,\ fs.s3.consistent.metadata.write.capacity=300] --ec2-attributes KeyName=myKey

或者,使用下面的配置文件并将其保存到本地或 Amazon S3 中:

[ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent.metadata.read.capacity": "600", "fs.s3.consistent.metadata.write.capacity": "300" } } ]

按照下面的语法使用您创建的配置:

aws emr create-cluster --release-label emr-5.13.0 --applications Name=Hive \ --instance-type m4.large --instance-count 2 --configurations file://./myConfig.json

注意

包含了 Linux 行继续符 (\) 以提高可读性。可以在 Linux 命令中删除或使用它们。对于 Windows,请删除它们或将其替换为脱字号 (^)。

可以使用配置或 AWS CLI --emrfs 参数设置以下选项。有关这些参数的信息,请参阅AWS CLI Command Reference

emrfs-site.xml 中有关一致视图的属性

属性 默认值 描述
fs.s3.consistent false

设置为 true 时,此属性将 EMRFS 配置为使用 DynamoDB 提供一致性。

fs.s3.consistent.retryPolicyType exponential 此属性标识针对一致性问题进行重试时要使用的策略。选项包括:exponential、fixed 和 none。
fs.s3.consistent.retryPeriodSeconds 10 此属性设置两次一致性重试尝试之间等待的时间长度。
fs.s3.consistent.retryCount 5 此属性设置检测到不一致时的最大重试次数。
fs.s3.consistent.throwExceptionOnInconsistency true 此属性确定是引发还是记录一致性异常。设置为 true 时,引发 ConsistencyException
fs.s3.consistent.metadata.autoCreate true 设置为 true 时,此属性启用元数据表的自动创建。
fs.s3.consistent.metadata.tableName EmrFSMetadata 此属性指定 DynamoDB 中元数据表的名称。
fs.s3.consistent.metadata.read.capacity 400 此属性指定创建元数据表时要配置的 DynamoDB 读取容量。
fs.s3.consistent.metadata.write.capacity 100 此属性指定创建元数据表时要配置的 DynamoDB 写入容量。
fs.s3.consistent.fastList true 设置为 true 时,此属性使用多个线程列出目录 (需要时)。必须启用一致性才能使用此属性。
fs.s3.consistent.fastList.prefetchMetadata false 设置为 true 时,此属性为包含 20 000 个以上的项目的目录启用元数据预取。
fs.s3.consistent.notification.CloudWatch false 设置为 true 时,为由于 Amazon S3 最终一致性问题而失败的 FileSystem API 调用启用 CloudWatch 指标。
fs.s3.consistent.notification.SQS false 设置为 true 时,向 Amazon SQS 队列推送最终一致性通知。
fs.s3.consistent.notification.SQS.queueName EMRFS-Inconsistency-<jobFlowId> 通过更改此属性可以为有关 Amazon S3 最终一致性问题的消息指定您自己的 SQS 队列名称。
fs.s3.consistent.notification.SQS.customMsg 通过此属性可以指定有关 Amazon S3 最终一致性问题的 SQS 消息中包含的自定义信息。如果没有为此属性指定值,则消息中的对应字段为空。
fs.s3.consistent.dynamodb.endpoint 此属性允许您为一致性视图元数据指定自定义 DynamoDB 终端节点。