JindoCache accélère l'accès à Object Storage Service (OSS) en mettant les fichiers en cache de manière transparente sur votre cluster.
Prérequis
Vous avez créé un cluster E-MapReduce (EMR) et sélectionné le service JindoCache. Pour plus d'informations, consultez la rubrique Créer un cluster.
Vous avez activé Object Storage Service (OSS). Pour plus d'informations, consultez la rubrique Activer OSS.
Limites
Les fichiers sont stockés sous forme d'objets dans OSS.
Procédure
JindoCache utilise des CacheSets pour gérer les politiques de mise en cache. Vous pouvez définir différentes politiques de mise en cache pour différents chemins, et un cluster peut comporter un ou plusieurs CacheSets.
-
Sélectionnez une politique de mise en cache.
Connectez-vous au cluster. Pour plus d'informations, consultez la rubrique Se connecter à un cluster.
-
Créez un fichier
cacheset.xml.Dans cet exemple, le fichier
cacheset.xmlse trouve dans le répertoire/path.<?xml version="1.0" encoding="UTF-8"?> <cachesets> <cacheset> <name>name1</name> <path>oss://emr-test/dir1</path> <cacheStrategy>DISTRIBUTED</cacheStrategy> <metaPolicy> <type>ALWAYS</type> </metaPolicy> <readPolicy>CACHE_ASIDE</readPolicy> <writePolicy>WRITE_AROUND</writePolicy> </cacheset> <cacheset> <name>name2</name> <path>oss://emr-test/dir2</path> <cacheStrategy>DHT</cacheStrategy> <metaPolicy> <type>ONCE</type> </metaPolicy> <readPolicy>CACHE_ASIDE</readPolicy> <writePolicy>WRITE_AROUND</writePolicy> </cacheset> </cachesets>Parameter
Description
Example
name
Le nom du CacheSet. Le nom doit être unique. La spécification d'un nom dupliqué écrase le CacheSet existant.
name1
path
Le chemin parent auquel s'applique la politique de mise en cache. Tous les sous-chemins héritent de la politique de ce CacheSet.
oss://emr-test/dir1
cacheStrategy
La stratégie de mise en cache. Valeurs possibles : DISTRIBUTED et DHT (Distributed Hash Table). La stratégie DHT est une politique d'accélération en lecture seule adaptée aux petits fichiers.
Sélectionnez une stratégie en fonction de vos besoins.
DISTRIBUTED
metaPolicy
La politique de mise en cache des métadonnées. Valeurs possibles : ALWAYS et ONCE.
-
ALWAYS : Les métadonnées ne sont pas mises en cache. Toutes les opérations sur les métadonnées accèdent directement au stockage distant.
-
ONCE : Les métadonnées sont mises en cache. Les métadonnées sont lues depuis le stockage distant uniquement la première fois. Les lectures ultérieures utilisent le cache local.
Sélectionnez une politique en fonction de vos besoins.
RemarqueSi
cacheStrategyest défini sur DHT,metaPolicydoit être défini sur ONCE.ALWAYS
readPolicy
La politique de lecture des fichiers. Seule la valeur CACHE_ASIDE est prise en charge. Cette politique privilégie la lecture des données depuis le cache.
CACHE_ASIDE
writePolicy
La politique d'écriture des fichiers. Les politiques suivantes sont prises en charge :
-
WRITE_AROUND : Les données sont écrites directement dans le stockage distant.
-
CACHE_ONLY : Les données sont écrites dans une zone de transit.
RemarqueLa politique CACHE_ONLY doit être utilisée conjointement avec la politique ONCE.
-
WRITE_THROUGH : Les données sont écrites dans le cache.
WRITE_AROUND
-
-
Exécutez la commande suivante pour actualiser la configuration du CacheSet dans le système JindoCache.
jindocache -refreshCacheSet -path /path/cacheset.xmlUne exécution réussie renvoie le message
Successfully refresh cacheset !!!. Pour plus d'informations sur les commandes JindoCache, consultez la rubrique Instructions d'utilisation de l'interface CLI JindoCache. -
Utilisez la commande listCacheSet pour consulter les informations relatives au CacheSet dans le système.
jindocache -listCacheSet
-
Configurez JindoSDK.
Configurez la classe d'implémentation JindoCache OSS dans Hadoop-Common. Dans la console EMR, accédez à la page de configuration du service Hadoop-Common, cliquez sur l'onglet core-site.xml et définissez le paramètre suivant. Pour plus d'informations, consultez la rubrique Gérer les éléments de configuration.
Paramètre
Description
fs.xengine
La valeur doit être jindocache.
Si vous laissez ce paramètre vide, le client n'utilise pas le cache et communique directement avec le backend.
RemarqueIl s'agit d'une configuration côté client. Vous n'avez pas besoin de redémarrer le service JindoCache.
Une fois la configuration terminée, les tâches qui accèdent à OSS utilisent automatiquement la mise en cache. Étant donné que JindoCache met les données en cache de manière transparente, aucune modification des tâches n'est requise. Lorsqu'une tâche lit des données depuis OSS, celles-ci sont mises en cache dans JindoCache. Les lectures ultérieures des mêmes données atteignent le cache, ce qui améliore les performances de lecture.
FAQ
Configurer les identifiants OSS
JindoCache prend en charge l'accès sans mot de passe à OSS. Pour un accès inter-comptes, vous devez configurer les identifiants, notamment un AccessKey ID, un AccessKey secret et un endpoint.
-
Accédez à l'onglet common du service JindoCache.
Connectez-vous à la console E-MapReduce.
Dans la barre de navigation supérieure, sélectionnez la région et le groupe de ressources.
Sur la page Clusters, localisez le cluster cible et cliquez sur Services dans la colonne Actions.
Dans la section du service JindoCache, cliquez sur Configure.
Cliquez sur l'onglet common.
-
Ajoutez et appliquez les éléments de configuration.
Cliquez sur Add Configuration Item.
-
Dans la boîte de dialogue Add Configuration Item, ajoutez les éléments de configuration suivants.
Pour plus d'informations sur l'ajout et l'application des éléments de configuration, consultez la rubrique Gérer les éléments de configuration.
RemarqueRemplacez
XXXpar le nom du bucket OSS.Paramètre
Description
jindocache.oss.bucket.XXX.accessKeyId
L'AccessKey ID pour le bucket OSS.
jindocache.oss.bucket.XXX.accessKeySecret
L'AccessKey secret pour le bucket OSS.
jindocache.oss.bucket.XXX.endpoint
L'endpoint du bucket OSS.