HBase Shell ist ein Befehlszeilentool für administrative Aufgaben wie beispielsweise das Erstellen und Löschen von Tabellen. Der Cloud Bigtable-HBase-Client für Java ist eine Clientbibliothek, mit der Sie über die HBase-Shell eine Verbindung zu Cloud Bigtable herstellen können.
Diese Seite zeigt, wie HBase Shell zusammen mit dem Cloud Bigtable HBase-Client für Java auf einer Compute Engine-Instanz oder auf Ihrem eigenen Computer installiert wird. Sie müssen dabei keine zusätzlichen HBase-Abhängigkeiten, wie beispielsweise Apache ZooKeeper, installieren, da der Cloud Bigtable-HBase-Client für Java diese nicht benötigt.
Sie können HBase Shell auch in Google Cloud Shell ausführen. Eine Anleitung dazu finden Sie unter Kurzanleitung für HBase Shell.
Hinweis
Vor dem Beginn sollten Sie folgende Schritte durchführen:
- Erstellen Sie eine Cloud Bigtable-Instanz. Notieren Sie die Projekt-ID und die Instanz-ID.
- Installieren Sie das
gcloud
-Befehlszeilentool. Details finden Sie in der Installationsanleitung für Cloud SDK. - Falls Sie HBase-Shell auf einer Compute Engine-Instanz installieren, erstellen Sie eine Instanz mit den korrekten Bereichen für Cloud Bigtable.
Java installieren
Für die Verwendung von HBase Shell mit dem Cloud Bigtable HBase-Client für Java müssen Sie die Java 8-Laufzeitumgebung installieren. Andere Versionen von Java werden nicht unterstützt.
Unter Debian GNU/Linux oder Ubuntu können Sie Java 8 JDK installieren. Dazu führen Sie die folgenden Befehle aus:
sudo apt-get update
sudo apt-get install openjdk-8-jdk-headless
Für andere Betriebssysteme können Sie Java JRE herunterladen und installieren.
Maven installieren
Zum Ausführen der HBase-Shell muss Apache Maven installiert sein. Die HBase-Shell nutzt Maven zum Herunterladen der erforderlichen Abhängigkeiten.
Unter Debian GNU/Linux oder Ubuntu können Sie Maven installieren, indem Sie folgende Befehle ausführen:
sudo apt-get update
sudo apt-get install maven
Unter macOS können Sie Maven mit Homebrew installieren:
brew install maven
Beachten Sie für andere Betriebssysteme die Anleitung auf der Maven-Website.
Anmeldedaten erhalten
Wenn Sie die HBase-Shell in Ihrem eigenen System installieren, benötigen Sie Nutzeranmeldedaten für Ihre Google Cloud Platform-Ressourcen.
Um Anmeldedaten zu erhalten, führen Sie folgenden Befehl aus:
gcloud auth application-default login
Dieser Befehl öffnet Ihren Webbrowser. Wählen Sie Ihr Google-Konto aus, wenn Sie dazu aufgefordert werden, und klicken Sie dann auf Zulassen, um Ihr Konto zu autorisieren.
HBase Shell einrichten
Benötigte Dateien herunterladen
Klonen Sie über die Befehlszeile das GitHub-Repository, das die HBase-Shell-Kurzanleitung enthält:
git clone https://github.com/GoogleCloudPlatform/cloud-bigtable-examples.git
Das Repository wird in das Verzeichnis cloud-bigtable-examples
geklont.
Umgebungsvariable JAVA_HOME festlegen
Die Umgebungsvariable JAVA_HOME
Ihrer Shell sollte auf den Ort geändert werden, an dem sich Ihre Java-Laufzeitumgebung befindet.
So ermitteln Sie den aktuellen Wert von JAVA_HOME
:
echo ${JAVA_HOME}
Sollte dieser Befehl keine Ausgabe produzieren, ist die Variable nicht festgelegt.
So legen Sie den Wert auf Debian, GNU/Linux oder Ubuntu fest:
export JAVA_HOME=$(update-alternatives --list java | tail -1 | sed -E 's/\/bin\/java//')
Ein typischer Wert unter Debian, GNU/Linux oder Ubuntu ist /usr/lib/jvm/java-8-openjdk-amd64/jre
.
So legen Sie den Wert unter macOS fest (erfordert Befehlszeilentools von Xcode):
export JAVA_HOME=$(/usr/libexec/java_home)
Ein typischer Wert unter macOS ist /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
.
Nachdem Sie den Wert von JAVA_HOME
festgelegt haben, führen Sie den folgenden Befehl aus, damit sich der Wert auf die entsprechende Version von Java bezieht:
${JAVA_HOME}/bin/java -version
Mit einer Cloud Bigtable-Instanz verbinden
Sie können mit HBase Shell eine Verbindung zu Ihrer Cloud Bigtable-Instanz herstellen, Informationen über vorhandene Tabellen abrufen und neue Tabellen erstellen.
Führen Sie zum Starten der HBase-Shell die folgenden Befehle in dem Verzeichnis aus, in das Sie das GitHub-Repository cloud-bigtable-examples
geklont haben:
cd quickstart
./quickstart.sh
Wenn für Ihr Projekt nur eine Cloud Bigtable-Instanz vorhanden ist, stellt HBase Shell automatisch eine Verbindung zu dieser Instanz her. Wenn für Ihr Projekt mehrere Cloud Bigtable-Instanzen vorgesehen sind, wird in HBase Shell eine Liste von Instanz-IDs angezeigt. Geben Sie die Nummer neben Ihrer Instanz-ID ein und drücken Sie die Eingabetaste.
Wenn die HBase-Shell die Verbindung zu Ihrer Instanz hergestellt hat, zeigt sie eine Reihe von Protokollmeldungen an, was normal ist. Dann wird die Shell-Eingabeaufforderung angezeigt:
hbase(main):001:0>
Jetzt, da Sie die HBase-Shell gestartet haben, versuchen Sie, die folgenden Befehle auszuführen:
Geben Sie zum Auflisten Ihrer Tabellen
list
ein und drücken Sie die Eingabetaste. Haben Sie noch keine Tabellen erstellt, wird HBase eine Nachricht ähnlich der folgenden anzeigen:TABLE 0 row(s) in 1.3580 seconds => []
Verwenden Sie zum Erstellen einer Tabelle den Befehl
create
. So erstellen Sie beispielsweise eine Tabelle namensmy-table
mit einer Spaltenfamilie namenscf1
:create 'my-table', 'cf1'
Shell zeigt eine Nachricht ähnlich der folgenden an:
0 row(s) in 1.5210 seconds => Hbase::Table - my-table
Verwenden Sie den Befehl
put
, um Daten in eine Tabelle einzufügen. Wenn Sie beispielsweise den Werttest-value
in die Zeiler1
einfügen möchten, verwenden Sie die Spaltenfamiliecf1
und den Spaltenqualifiziererc1
:put 'my-table', 'r1', 'cf1:c1', 'test-value'
Anschließend können Sie mit dem Befehl
scan
die Tabelle scannen und die neu eingefügten Daten lesen:scan 'my-table'
Shell zeigt in etwa Folgendes an:
ROW COLUMN+CELL r1 column=cf1:c1, timestamp=1430687836046, value=test-value 1 row(s) in 0.6260 seconds
Zum Löschen einer Tabelle deaktivieren Sie die Tabelle mit dem Befehl
disable
, gefolgt vom Befehldrop
. So löschen Sie beispielsweise die Tabellemy-table
:disable 'my-table' drop 'my-table'
Geben Sie zum Beenden der HBase-Shell
exit
ein und drücken Sie die Eingabetaste.
Während HBase Shell läuft, können Sie help
eingeben, um Tipps zur Nutzung abzurufen.
Weitere Informationen finden Sie in der HBase-Dokumentation.