LindormDFS est compatible avec l'API du système de fichiers distribué Hadoop (HDFS). Cette rubrique explique comment configurer un client HDFS Hadoop open source pour se connecter à LindormDFS et exécuter des opérations courantes sur les fichiers.
Prérequis
Avant de commencer, vérifiez que :
Java est installé. Le JDK 1.7 ou une version ultérieure est requis.
L'adresse IP du client figure dans la liste d'autorisation de Lindorm. Pour plus de détails, consultez Set whitelists.
Exigences réseau
Si votre application s'exécute sur une instance Elastic Compute Service (ECS), l'instance ECS et l'instance Lindorm doivent satisfaire aux deux conditions suivantes :
Elles se trouvent dans la même région. Privilégiez la même zone de disponibilité pour réduire la latence réseau.
Elles utilisent le même cloud privé virtuel (VPC).
Télécharger le client
Téléchargez le kit de développement logiciel (SDK) Hadoop 2.7.3, hadoop-2.7.3.tar.gz, depuis le site officiel Apache.
Configurer Hadoop
Deux méthodes permettent de configurer le client HDFS :
Console (recommandé) : générez directement le fichier de configuration depuis la console Lindorm. Consultez Générer le fichier de configuration depuis la console.
Manuelle : modifiez vous-même les fichiers de configuration XML. Consultez la section Configurer manuellement ci-dessous.
Configurer manuellement
-
Décompressez le package SDK.
tar -zxvf hadoop-2.7.3.tar.gz -
Définissez la variable d'environnement
HADOOP_HOME.export HADOOP_HOME=/${Hadoop_installation_folder}/hadoop-2.7.3 -
Accédez au répertoire Hadoop.
cd $HADOOP_HOME -
Ajoutez la variable d'environnement
JAVA_HOMEau fichieretc/hadoop/hadoop-env.sh. Cet exemple suppose que Java est installé dans/opt/install/java.export JAVA_HOME=/opt/install/java -
Modifiez le fichier
etc/hadoop/hdfs-site.xmlet ajoutez les propriétés suivantes. Remplacez${Instance ID}par votre ID d'instance réel. Ces propriétés configurent le client Hadoop en mode haute disponibilité (HA), afin qu'il bascule automatiquement entre les deux NameNodes LindormDFS (nn1etnn2).RemarquePour configurer plusieurs instances, copiez l'intégralité du bloc
<property>pour chaque instance supplémentaire, remplacez${Instance ID}par l'ID de cette instance, puis collez tous les blocs<property>à l'intérieur de l'élément<configuration>.<configuration> <property> <!-- Logical name for the LindormDFS nameservice --> <name>dfs.nameservices</name> <value>${Instance ID}</value> </property> <property> <!-- Failover proxy provider for the nameservice --> <name>dfs.client.failover.proxy.provider.${Instance ID}</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <!-- Enable automatic HA failover between NameNodes --> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <!-- Identifiers for the two NameNodes in this nameservice --> <name>dfs.ha.namenodes.${Instance ID}</name> <value>nn1,nn2</value> </property> <property> <!-- RPC address of the first NameNode --> <name>dfs.namenode.rpc-address.${Instance ID}.nn1</name> <value>${Instance ID}-master1-001.lindorm.rds.aliyuncs.com:8020</value> </property> <property> <!-- RPC address of the second NameNode --> <name>dfs.namenode.rpc-address.${Instance ID}.nn2</name> <value>${Instance ID}-master2-001.lindorm.rds.aliyuncs.com:8020</value> </property> </configuration>
Opérations courantes
Remplacez ${Instance ID} par votre ID d'instance avant d'exécuter ces commandes.
Importer un fichier
# Create a directory in LindormDFS
$HADOOP_HOME/bin/hadoop fs -mkdir hdfs://${instanceID}/test
# Create a local file and upload it
echo "test" > test.log
$HADOOP_HOME/bin/hadoop fs -put test.log hdfs://${Instance ID}/test
Lister les fichiers
$HADOOP_HOME/bin/hadoop fs -ls hdfs://${instance_id}/test
Télécharger un fichier
$HADOOP_HOME/bin/hadoop fs -get hdfs://${Instance ID}/test/test.log
Générer le fichier de configuration depuis la console
Utilisez la console Lindorm pour générer automatiquement le contenu de configuration des fichiers hdfs-site.xml et core-site.xml, sans modification manuelle du XML.
Connectez-vous à la console Lindorm.
Dans le coin supérieur gauche, sélectionnez la région où l'instance est déployée.
Sur la page Instances, cliquez sur l'ID de l'instance, ou cliquez sur View Instance Details dans la colonne Actions.
Dans le volet de navigation de gauche, cliquez sur Database Connections.
Sur la page Database Connections, cliquez sur l'onglet LindormDFS.
Cliquez sur Activate Now.
Une fois l'accès aux fichiers sous-jacent activé, cliquez sur Generate Configuration Items pour générer les configurations
hdfs-siteetcore-site.