Installer HBase Shell pour Cloud Bigtable

L'interface système HBase est un outil de ligne de commande qui effectue des tâches d'administration, comme la création et la suppression de tables. Le client Cloud Bigtable HBase pour Java permet d’utiliser l'interface système HBase pour se connecter à Cloud Bigtable.

Cette page explique comment installer l'interface système HBase, ainsi que le client Cloud Bigtable HBase pour Java, sur une instance Compute Engine ou sur votre propre ordinateur. Il n'est pas nécessaire d'installer d'autres dépendances HBase, telles qu'Apache ZooKeeper. Le client Cloud Bigtable HBase pour Java ne nécessite pas ces dépendances supplémentaires.

Vous pouvez également exécuter l'interface système HBase sur Google Cloud Shell. Pour plus d'informations, consultez la page Démarrage rapide avec l'interface système HBase.

Avant de commencer

Avant de commencer, vous devez effectuer les tâches suivantes :

Installer Java

Pour utiliser l'interface système HBase avec le client Cloud Bigtable HBase pour Java, vous devez installer un environnement d'exécution Java 8. Les autres versions de Java ne sont pas acceptées.

Sous Debian GNU/Linux ou Ubuntu, vous pouvez installer le JDK Java 8 en exécutant les commandes suivantes :

sudo apt-get update
sudo apt-get install openjdk-8-jdk-headless

Pour les autres systèmes d'exploitation, vous pouvez télécharger et installer le JDK Java.

Installer Maven

Pour exécuter l'interface système HBase, vous devez installer Apache Maven. Cette interface système utilise Maven pour télécharger les dépendances requises.

Sous Debian GNU/Linux ou Ubuntu, vous pouvez installer Maven en exécutant les commandes suivantes :

sudo apt-get update
sudo apt-get install maven

Sous macOS, vous pouvez installer Maven à l’aide de Homebrew :

brew install maven

Pour les autres systèmes d'exploitation, consultez les instructions disponibles sur le site Web de Maven.

Obtenir des identifiants

Lorsque vous installez l'interface système HBase sur votre propre ordinateur, vous devez obtenir les identifiants d'accès utilisateur pour vos ressources Google Cloud Platform.

Pour obtenir les identifiants, exécutez la commande suivante :

gcloud auth application-default login

Cette commande ouvre votre navigateur Web. Sélectionnez votre compte Google si vous y êtes invité, puis cliquez sur Autoriser pour autoriser l'accès à votre compte.

Configurer l'interface système HBase

Télécharger les fichiers requis

À partir de la ligne de commande, clonez le dépôt GitHub contenant la configuration rapide de l'interface système HBase :

git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git

Ce dépôt est cloné dans le répertoire cloud-bigtable-examples.

Définir la variable d'environnement JAVA_HOME

La variable d'environnement JAVA_HOME de votre interface système doit être définie sur l'emplacement de votre environnement d'exécution Java.

Pour trouver la valeur actuelle de JAVA_HOME, procédez comme suit :

echo ${JAVA_HOME}

Si cette commande ne renvoie aucun résultat, la variable n'est pas définie.

Pour définir la valeur sous Debian GNU/Linux ou Ubuntu, procédez comme suit :

export JAVA_HOME=$(update-alternatives --list java | tail -1 | sed -E 's/\/bin\/java//')

Voici une valeur type sous Debian GNU/Linux ou Ubuntu : /usr/lib/jvm/java-8-openjdk-amd64/jre.

Pour définir la valeur sous macOS (outils de ligne de commande de Xcode requis), procédez comme suit :

export JAVA_HOME=$(/usr/libexec/java_home)

Voici une valeur type sous macOS : /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home.

Après avoir défini la valeur de JAVA_HOME, exécutez la commande suivante pour vous assurer qu'elle fait référence à la version appropriée de Java :

${JAVA_HOME}/bin/java -version

Se connecter à une instance Cloud Bigtable

Vous pouvez utiliser l'interface système HBase pour vous connecter à votre instance Cloud Bigtable, obtenir des informations sur les tables actuelles et créer des tables.

Pour démarrer l'interface système HBase, exécutez les commandes suivantes dans le répertoire où vous avez cloné le dépôt GitHub cloud-bigtable-examples :

cd quickstart
./quickstart.sh

Si votre projet comporte une seule instance Cloud Bigtable, l'interface système HBase s'y connecte automatiquement. Si votre projet comporte plusieurs instances Cloud Bigtable, l'interface système HBase affiche une liste d'ID d'instance. Saisissez le numéro affiché à côté de votre ID d'instance, puis appuyez sur Entrée.

Une fois que l'interface système HBase est connectée à votre instance, elle affiche une série de messages de journal, ce qui est tout à fait normal. L'invite de l'interface système s'affiche alors :

hbase(main):001:0>

Maintenant que vous avez démarré l'interface système HBase, essayez d’exécuter les commandes suivantes :

  • Pour répertorier vos tables, saisissez list et appuyez ensuite sur Entrée. Si vous n'avez encore créé aucune table, l'interface système HBase affiche un message semblable à celui-ci :

    TABLE
    0 row(s) in 1.3580 seconds
    
    => []
    
  • Pour créer une table, utilisez la commande create. Par exemple, pour créer une table nommée my-table, dotée d'une famille de colonnes nommée cf1 :

    create 'my-table', 'cf1'
    

    L'interface système affiche un message semblable à celui-ci :

    0 row(s) in 1.5210 seconds
    
    => Hbase::Table - my-table
    
  • Pour ajouter des données à une table, utilisez la commande put. Par exemple, pour insérer la valeur test-value dans la ligne r1, en utilisant la famille de colonnes cf1 et le qualificatif de colonne c1 :

    put 'my-table', 'r1', 'cf1:c1', 'test-value'
    

    Vous pouvez ensuite utiliser la commande scan pour analyser la table et lire les données que vous avez ajoutées :

    scan 'my-table'
    

    L'interface système affiche un résultat semblable à celui-ci :

    ROW      COLUMN+CELL
     r1      column=cf1:c1, timestamp=1430687836046, value=test-value
    1 row(s) in 0.6260 seconds
    
  • Pour supprimer une table, commencez par la désactiver à l'aide de la commande disable, puis faites appel à la commande drop. Par exemple, pour supprimer la table my-table :

    disable 'my-table'
    drop 'my-table'
    
  • Pour quitter l'interface système HBase, saisissez exit et appuyez ensuite sur Entrée.

Lorsque l'interface système HBase est en cours d'exécution, vous pouvez saisir help pour obtenir des instructions d'utilisation. Pour plus d'informations, consultez la documentation de HBase.