HBase est une base de données en temps réel offrant des performances d'écriture élevées au sein de l'écosystème Hadoop. OSS-HDFS est un service de stockage lancé par Alibaba Cloud, compatible avec l'API HDFS. JindoSDK permet à HBase d'utiliser OSS-HDFS comme stockage sous-jacent et prend en charge le stockage des fichiers de journalisation préalable à l'écriture (WAL). Cette approche dissocie les ressources de calcul des ressources de stockage. OSS-HDFS offre une flexibilité supérieure à celle du stockage HDFS local et réduit les coûts d'exploitation et de maintenance.
Prérequis
Si vous utilisez Elastic Compute Service (ECS) comme environnement de déploiement, créez une instance.
Un environnement Hadoop est configuré. Pour plus d'informations sur l'installation de Hadoop, consultez la rubrique Utilisation de JindoSDK pour accéder au service OSS-HDFS dans Hadoop.
Apache HBase est déployé. Pour plus d'informations, consultez la documentation Apache HBase.
Le service OSS-HDFS est activé pour un bucket et les autorisations d'accès sont accordées. Pour plus d'informations, consultez la rubrique Activer OSS-HDFS et accorder les autorisations d'accès.
Procédure
Connectez-vous à l'instance ECS. Pour plus d'informations, consultez la rubrique Connexion à une instance ECS.
-
Configurez JindoSDK.
Téléchargez la dernière version du package JAR JindoSDK. Pour télécharger JindoSDK, rendez-vous sur GitHub.
-
Décompressez le package d'installation téléchargé.
L'exemple de code suivant illustre la décompression d'un package nommé
jindosdk-x.x.x-linux.tar.gz. Si vous utilisez une autre version de JindoSDK, remplacez le nom du package par celui du fichier JAR correspondant.tar -zxvf jindosdk-x.x.x-linux.tar.gz -C /usr/libRemarquex.x.x représente le numéro de version du package JAR JindoSDK.
-
Configurez la variable
JINDOSDK_HOME.export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x-linux export PATH=$JINDOSDK_HOME/bin:$PATH -
Configurez la variable
HADOOP_CLASSPATH.export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*ImportantSpécifiez le répertoire d'installation du package et configurez les variables d'environnement sur tous les nœuds requis.
-
Installez le package JAR JindoSDK téléchargé dans le chemin spécifié par classpath.
cp jindosdk-x.x.x-linux/lib/jindo-core-x.x.x.jar <HADOOP_HOME>/share/hadoop/hdfs/lib/ cp jindosdk-x.x.x-linux/lib/jindo-sdk-x.x.x.jar <HADOOP_HOME>/share/hadoop/hdfs/lib/
-
Configurez la classe d'implémentation d'OSS-HDFS et spécifiez la paire AccessKey à utiliser pour accéder au bucket.
-
Configurez la classe d'implémentation d'OSS-HDFS dans le fichier core-site.xml de HBase.
<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> -
Dans le fichier core-site.xml de HBase, spécifiez l'AccessKey ID et l'AccessKey Secret à utiliser pour accéder au bucket pour lequel OSS-HDFS est activé.
<configuration> <property> <name>fs.oss.accessKeyId</name> <value>LTAI********</value> </property> <property> <name>fs.oss.accessKeySecret</name> <value>KZo1********</value> </property> </configuration>
-
-
Configurez l'endpoint d'OSS-HDFS.
Vous devez spécifier l'endpoint d'OSS-HDFS si vous souhaitez utiliser ce service pour accéder aux buckets dans Object Storage Service (OSS). Nous vous recommandons de configurer le chemin d'accès à OSS-HDFS au format
oss://{yourBucketName}.{yourBucketEndpoint}/{path}(exemple :oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt). Une fois le chemin d'accès configuré, JindoSDK appelle l'opération OSS-HDFS correspondante en fonction de l'endpoint spécifié dans ce chemin.Vous pouvez également configurer l'endpoint d'OSS-HDFS par d'autres méthodes. Les endpoints configurés via différentes approches ont des priorités distinctes. Pour plus d'informations, consultez la rubrique Démarrage rapide : Connecter un cluster non-EMR au service OSS-HDFS.
-
Spécifiez un chemin de stockage pour HBase.
Pour définir un chemin dans OSS comme emplacement de stockage des données et des fichiers WAL dans HBase, modifiez la valeur du paramètre hbase.rootdir dans le fichier de configuration hbase-site afin qu'il pointe vers le chemin OSS. Le chemin doit respecter le format
oss://bucket.endpoint/hbase-root-dir.ImportantAvant de libérer les clusters, désactivez les tables et assurez-vous que toutes les opérations de mise à jour effectuées sur les fichiers WAL sont synchronisées avec les fichiers HFile.