Configuration de la vue cohérente
Vous pouvez configurer d'autres paramètres pour la vue cohérente en les fournissant à l'aide des propriétés de configuration pour les propriétés emrfs-site
. Par exemple, vous pouvez choisir un autre débit DynamoDB par défaut en fournissant les arguments suivants à l'interface de ligne de commande, à l'aide de l'option --emrfs
, en utilisant la classification de configuration de site emrfs (versions 4.x et ultérieures d'Amazon EMR uniquement), ou une action d'amorçage pour configurer le fichier emrfs-site.xml sur le nœud principal :
Exemple Modification des valeurs de lecture et d'écriture de métadonnées par défaut au lancement du cluster
aws emr create-cluster --release-label
emr-5.36.1
--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
Vous pouvez également utiliser le fichier de configuration suivant et l'enregistrer localement ou dans Amazon S3 :
[ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent.metadata.read.capacity": "600", "fs.s3.consistent.metadata.write.capacity": "300" } } ]
Utilisez la configuration que vous avez créée avec la syntaxe suivante :
aws emr create-cluster --release-label
emr-5.36.1
--applications Name=Hive \ --instance-type m5.xlarge --instance-count 2 --configurations file://./myConfig.json
Note
Les caractères de continuation de ligne Linux (\) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).
Les options suivantes peuvent être définies à l'aide des configurations ou des arguments --emrfs
de l'AWS CLI. Pour plus d'informations sur ces arguments, consultez la Référence des commandes AWS CLI.
Propriétés emrfs-site.xml pour la vue cohérente | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Propriété | Valeur par défaut | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent |
false |
Lorsque la valeur est |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.retryPolicyType |
exponential |
Cette propriété identifie la stratégie à utiliser lors d'une nouvelle tentative pour des problèmes de cohérence. Les options comprennent : exponential, fixed et none. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.retryPeriodSeconds |
1 |
Cette propriété définit la durée d'attente entre les tentatives de relance de cohérence. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.retryCount |
10 |
Cette propriété définit le nombre maximal de nouvelles tentatives lorsqu'une incohérence est détectée. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.throwExceptionOnInconsistency |
true |
Cette propriété détermine s'il convient de lever ou de consigner une exception de cohérence. Lorsque la valeur est true , une exception ConsistencyException est levée. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.metadata.autoCreate |
true |
Lorsque la valeur est true , cette propriété permet la création automatique de tables de métadonnées. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.metadata.etag.verification.enabled |
true |
Avec Amazon EMR 5.29.0, cette propriété est activée par défaut. Lorsqu'elle est activée, EMRFS utilise S3 ETags pour vérifier que les objets en cours de lecture correspondent à la dernière version disponible. Cette fonctionnalité est utile pour les cas d'utilisation de lecture après mise à jour dans lesquels des fichiers sur S3 sont remplacés tout en conservant le même nom. Cette fonctionnalité de vérification ETag ne fonctionne actuellement pas avec S3 Select. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.metadata.tableName |
EmrFSMetadata |
Cette propriété spécifie le nom de la table de métadonnées dans DynamoDB. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.metadata.read.capacity |
500 |
Cette propriété spécifie la capacité de lecture DynamoDB à mettre en service lorsque la table de métadonnées est créée. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.metadata.write.capacity |
100 |
Cette propriété spécifie la capacité d'écriture DynamoDB à mettre en service lorsque la table de métadonnées est créée. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.fastList |
true |
Lorsque la valeur est true , cette propriété utilise plusieurs fils pour répertorier un répertoire (si nécessaire). La cohérence doit être activée pour pouvoir utiliser cette propriété. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.fastList.prefetchMetadata |
false |
Lorsque la valeur est true , cette propriété permet l'extraction préalable de métadonnées pour les répertoires contenant plus de 20 000 éléments. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.notification.CloudWatch |
false |
Lorsque la valeur est true , les métriques CloudWatch sont activées pour les appels d'API de système de fichiers qui échouent en raison de problèmes de cohérence à terme d'Amazon S3. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.notification.SQS |
false |
Lorsque la valeur est true , les notifications de cohérence éventuelle font l'objet d'un push vers une file d'attente Amazon SQS. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.notification.SQS.queueName |
EMRFS-Inconsistency-<jobFlowId> |
La modification de cette propriété vous permet de spécifier votre propre nom de file d'attente SQS pour les messages concernant les problèmes de cohérence à terme d'Amazon S3. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.notification.SQS.customMsg |
none |
Cette propriété vous permet de spécifier des informations personnalisées incluses dans les messages SQS concernant les problèmes de cohérence à terme d'Amazon S3. Si une valeur n'est pas spécifiée pour cette propriété, le champ correspondant dans le message est vide. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.consistent.dynamodb.endpoint |
none |
Cette propriété vous permet de spécifier un point de terminaison DynamoDB personnalisé pour vos métadonnées de vue cohérente. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fs.s3.useRequesterPaysHeader |
false |
Lorsqu'elle est définie sur true , cette propriété autorise les requêtes Amazon S3 à être envoyées dans des compartiments avec l'option de payeur de demandes activée. |