OSS-HDFS prend en charge RootPolicy. Cette fonctionnalité vous permet de configurer un préfixe personnalisé pour OSS-HDFS. Les jobs peuvent ainsi s'exécuter sur OSS-HDFS sans modifier le préfixe d'accès d'origine hdfs://.
Prérequis
Un environnement Hadoop, un cluster Hadoop ou un client Hadoop est créé. Pour installer Hadoop, consultez la rubrique Étape 2 : Créer un environnement d'exécution Hadoop.
OSS-HDFS est activé pour des buckets spécifiques. Pour plus d'informations, consultez la rubrique Activer OSS-HDFS et accorder des autorisations d'accès.
JindoSDK version 4.5.0 ou ultérieure est installé et configuré. Pour plus d'informations, consultez la rubrique Connecter des clusters non-EMR à OSS-HDFS.
Procédure
-
Configurez les variables d'environnement.
-
Configurez RootPolicy.
Exécutez la commande SetRootPolicy suivante pour spécifier une adresse enregistrée contenant un préfixe personnalisé pour un bucket :
jindo admin -setRootPolicy oss://<bucket_name>.<dls_endpoint>/ hdfs://<your_ns_name>/Le tableau suivant décrit les paramètres de la commande SetRootPolicy.
Paramètre
Description
bucket_name
Nom du bucket pour lequel OSS-HDFS est activé.
dls_endpoint
Endpoint de la région où se trouve le bucket pour lequel OSS-HDFS est activé. Exemple :
cn-hangzhou.oss-dls.aliyuncs.com.Pour éviter d'ajouter systématiquement le paramètre <dls_endpoint> à la commande SetRootPolicy, ajoutez les éléments de configuration suivants au fichier
core-site.xmlde Hadoop :-
Méthode 1 :
<configuration> <property> <name>fs.oss.endpoint</name> <value><dls_endpoint></value> </property> </configuration> -
Méthode 2 :
<configuration> <property> <name>fs.oss.bucket.<bucket_name>.endpoint</name> <value><dls_endpoint></value> </property> </configuration>
your_ns_name
Nom d'espace de noms (nsname) personnalisé utilisé pour accéder à OSS-HDFS. Une chaîne non vide est requise, par exemple
test. La version actuelle prend uniquement en charge le répertoire racine. -
-
Configurez l'adresse de découverte de la politique d'accès (Access Policy) et la classe d'implémentation du schéma.
Ajoutez les paramètres suivants au fichier core-site.xml de Hadoop :
<configuration> <property> <name>fs.accessPolicies.discovery</name> <value>oss://<bucket_name>.<dls_endpoint>/</value> </property> <property> <name>fs.AbstractFileSystem.hdfs.impl</name> <value>com.aliyun.jindodata.hdfs.HDFS</value> </property> <property> <name>fs.hdfs.impl</name> <value>com.aliyun.jindodata.hdfs.JindoHdfsFileSystem</value> </property> </configuration>Pour configurer des adresses de découverte de politiques d'accès et des classes d'implémentation de schéma pour plusieurs buckets, séparez les buckets par des virgules (
,). -
Vérifiez que RootPolicy est correctement configuré en exécutant la commande suivante :
hadoop fs -ls hdfs://<your_ns_name>/La configuration est réussie si les résultats suivants s'affichent :
drwxr-x--x - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/apps drwxrwxrwx - spark hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/spark-history drwxrwxrwx - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/tmp drwxrwxrwx - hdfs hadoop 0 2023-01-05 12:27 hdfs://<your_ns_name>/user -
Accédez à OSS-HDFS à l'aide d'un préfixe personnalisé.
Redémarrez les services tels que Hive et Spark, puis accédez à OSS-HDFS en utilisant le préfixe personnalisé.
-
(Facultatif) Autres utilisations de RootPolicy.
-
Listez toutes les adresses enregistrées contenant un préfixe personnalisé spécifié pour un bucket.
Exécutez la commande listAccessPolicies suivante pour lister toutes les adresses enregistrées contenant un préfixe personnalisé spécifié pour un bucket :
jindo admin -listAccessPolicies oss://<bucket_name>.<dls_endpoint>/ -
Supprimez toutes les adresses enregistrées contenant un préfixe personnalisé spécifié pour un bucket.
Exécutez la commande unsetRootPolicy suivante pour supprimer toutes les adresses enregistrées contenant un préfixe personnalisé spécifié pour un bucket :
jindo admin -unsetRootPolicy oss://<bucket_name>.<dls_endpoint>/ hdfs://<your_ns_name>/
-
Références
Pour plus d'informations sur les commandes RootPolicy, consultez le Guide d'utilisation de Jindo CLI.