本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置一致视图
您可以为一致视图配置其它设置,方法是使用 emrfs-site
属性的配置属性来提供这些设置。例如,您可以选择不同的默认 DynamoDB 吞吐量,方法是为该选项提供以下参数,使用 emrfs-site 配置分类(仅限 EMR Amazon 发行版 4.x 及更高版本),或者使用引导操作在主节点上配置 emrfs-site.xml 文件:CLI--emrfs
例 在集群启动时更改默认元数据读取和写入值
aws emr create-cluster --release-label
emr-7.5.0
--instance-typem5.xlarge
\ --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-7.5.0
--applications Name=Hive \ --instance-type m5.xlarge --instance-count 2 --configurations file://./myConfig.json
注意
为了便于读取,包含 Linux 行继续符(\)。它们可以通过 Linux 命令删除或使用。对于 Windows,请将它们删除或替换为脱字号(^)。
可以使用配置或 Amazon CLI
--emrfs
参数设置以下选项。有关这些实参的信息,请参阅 Amazon CLI 命令参考。
属性 | 默认值 | 描述 |
---|---|---|
fs.s3.consistent |
false |
设置为时 |
fs.s3.consistent.retryPolicyType |
exponential |
此属性标识针对一致性问题进行重试时要使用的策略。选项包括:exponential、fixed 和 none。 |
fs.s3.consistent.retryPeriodSeconds |
1 |
此属性设置两次一致性重试尝试之间等待的时间长度。 |
fs.s3.consistent.retryCount |
10 |
此属性设置检测到不一致时的最大重试次数。 |
fs.s3.consistent.throwExceptionOnInconsistency |
true |
此属性确定是引发还是记录一致性异常。设置为 true 时,会引发 ConsistencyException 。 |
fs.s3.consistent.metadata.autoCreate |
true |
设置为 true 时,此属性会启用元数据表的自动创建。 |
fs.s3.consistent.metadata.etag.verification.enabled |
true |
在 Amazon EMR 5.29.0 中,此属性默认处于启用状态。启用后,EMRFS使用 S3 ETags 验证正在读取的对象是否为最新的可用版本。此功能对于 S3 上的文件被覆盖,同时保留相同名称的 read-after-update用例非常有用。此ETag验证功能目前不适用于 S3 Select。 |
fs.s3.consistent.metadata.tableName |
EmrFSMetadata |
此属性指定 DynamoDB 中元数据表的名称。 |
fs.s3.consistent.metadata.read.capacity |
500 |
此属性指定创建元数据表时要配置的 DynamoDB 读取容量。 |
fs.s3.consistent.metadata.write.capacity |
100 |
此属性指定创建元数据表时要配置的 DynamoDB 写入容量。 |
fs.s3.consistent.fastList |
true |
设置为 true 时,此属性会使用多个线程列出目录(需要时)。必须启用一致性才能使用此属性。 |
fs.s3.consistent.fastList.prefetchMetadata |
false |
设置为 true 时,此属性会为包含 20000 个以上的项目的目录启用元数据预取。 |
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 |
none |
此属性允许您指定SQS消息中包含的有关 Amazon S3 最终一致性问题的自定义信息。如果没有为此属性指定值,则消息中的对应字段为空。 |
fs.s3.consistent.dynamodb.endpoint |
none |
此属性允许您为一致性视图元数据指定自定义 DynamoDB 终端节点。 |
fs.s3.useRequesterPaysHeader |
false |
当设置为true ,此属性允许在启用付款人选项请求的情况下向存储桶发出Amazon S3 请求。 |