Cette rubrique explique comment déployer JindoSDK dans un cluster non-EMR. Elle détaille les étapes de téléchargement de JindoSDK, de configuration des variables d'environnement et de modification des fichiers de configuration.
Déployer JindoSDK
Vous pouvez déployer JindoSDK dans un environnement non-EMR, par exemple sur une instance Alibaba Cloud ECS, d'autres services Alibaba Cloud ou vos serveurs sur site. Cette rubrique prend pour exemple une instance Alibaba Cloud ECS. Pour plus d'informations sur la connexion à une instance ECS, consultez Se connecter à une instance ECS.
-
Exécutez la commande suivante pour télécharger le package TAR d'une version spécifique de JindoSDK.
Cette rubrique utilise la version 6.3.4 pour la plateforme Linux x86 à titre d'exemple.
wget https://jindodata-binary.oss-cn-shanghai.aliyuncs.com/release/6.3.4/jindosdk-6.3.4-linux.tar.gz -
Exécutez la commande suivante pour décompresser le package JAR de JindoSDK.
tar zxvf jindosdk-6.3.4-linux.tar.gz -
Configurez les variables d'environnement.
ImportantVous devez déployer le dossier d'installation et configurer les variables d'environnement sur tous les nœuds requis.
Par exemple, exécutez la commande suivante pour extraire le package d'installation vers le répertoire
/usr/lib/jindosdk-6.3.4.export JINDOSDK_HOME=/usr/lib/jindosdk-6.3.4-linux export JINDOSDK_CONF_DIR=${JINDOSDK_HOME}/conf export PATH=${PATH}:${JINDOSDK_HOME}/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${JINDOSDK_HOME}/lib/native
Modifier les configurations
Fichier de configuration Hadoop
Configurez la classe d'implémentation et l'AccessKey pour OSS ou OSS-HDFS.
-
Modifiez le fichier de configuration Hadoop
core-site.xml.vim <HADOOP_HOME>/etc/hadoop/core-site.xml -
Ajoutez la classe d'implémentation pour OSS ou OSS-HDFS au fichier
core-site.xml.<configuration> <property> <name>fs.AbstractFileSystem.oss.impl</name> <value>com.aliyun.jindodata.oss.JindoOSS</value> </property> <property> <name>fs.oss.impl</name> <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value> </property> </configuration> -
Ajoutez l'AccessKey ID et l'AccessKey Secret du bucket OSS ou OSS-HDFS au fichier
core-site.xml.<configuration> <property> <name>fs.oss.accessKeyId</name> <value>xxx</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>xxx</value> </property> </configuration> -
Configurez l'Endpoint pour le service OSS ou OSS-HDFS.
Vous devez configurer un Endpoint pour accéder à un bucket OSS ou OSS-HDFS. Utilisez le format suivant pour le chemin d'accès :
oss://<Bucket>.<Endpoint>/<Object>. Par exemple :oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt. Une fois la configuration terminée, JindoSDK utilise l'Endpoint du chemin d'accès pour appeler l'API correspondante du service OSS ou OSS-HDFS. Vous pouvez également configurer un Endpoint par défaut pour simplifier le chemin d'accès au formatoss://<Bucket>/<Object>. Par exemple :oss://examplebucket/exampleobject.txt.<configuration> <property> <name>fs.oss.endpoint</name> <value>xxx</value> </property> </configuration>Pour plus d'informations sur les méthodes de configuration, consultez les rubriques suivantes :
Fichier de configuration non-Hadoop
Lorsque vous utilisez des composants en dehors de l'écosystème Hadoop, tels que JindoFuse et l'interface de ligne de commande (CLI) Jindo, JindoSDK lit le fichier de configuration depuis le dossier spécifié par la variable d'environnement JINDOSDK_CONF_DIR.
Fichier de configuration
Utilisez un fichier de configuration de style INI nommé jindosdk.cfg. Le code suivant fournit un exemple.
[common]
logger.dir = /tmp/jindosdk-log
[jindosdk]
# The Endpoint of the created OSS bucket. For example, for the China (Hangzhou) region, enter oss-cn-hangzhou.aliyuncs.com.
# The Endpoint of the created OSS-HDFS bucket. For example, for the China (Hangzhou) region, enter cn-hangzhou.oss-dls.aliyuncs.com.
fs.oss.endpoint = <your_Endpoint>
# The AccessKey ID and AccessKey secret used to access OSS. The AccessKey of an Alibaba Cloud account has permissions to access all APIs. This poses a high security threat. Create and use a Resource Access Management (RAM) user for API calls or routine O&M. To create a RAM user, log on to the RAM console.
fs.oss.accessKeyId = <your_AccessKey_id>
fs.oss.accessKeySecret = <your_AccessKey_secret>
Accès sans mot de passe
Pour utiliser l'accès sans mot de passe, vous devez utiliser une instance Alibaba Cloud ECS avec un rôle RAM d'instance attaché. Pour plus d'informations, consultez Rôles RAM d'instance.
Le code suivant fournit un exemple.
[common]
logger.dir = /tmp/jindosdk-log
[jindosdk]
# The Endpoint of the created OSS bucket. For example, for the China (Hangzhou) region, enter oss-cn-hangzhou.aliyuncs.com.
# The Endpoint of the created OSS-HDFS bucket. For example, for the China (Hangzhou) region, enter cn-hangzhou.oss-dls.aliyuncs.com.
fs.oss.endpoint = <your_Endpoint>
fs.oss.provider.endpoint = ECS_ROLE
fs.oss.provider.format = JSON