Cloud Bigtable 用 HBase シェルのインストール

HBase シェルは、表の作成や削除などの管理タスクを実行するコマンドライン ツールです。Cloud Bigtable HBase クライアント(Java 版)では、HBase シェルを使用して Cloud Bigtable に接続できます。

このページでは、HBase シェルおよび Java 用 Cloud Bigtable HBase クライアントを、Compute Engine インスタンスまたはユーザーのマシン上にインストールする方法について説明します。その他の HBase 依存関係(Apache ZooKeeper など)をインストールする必要はありません。Java 用 Cloud Bigtable HBase クライアントには、これらの追加依存関係は必要ありません。

また、Google Cloud Shell で HBase シェルを実行することもできます。手順については、HBase シェルを使用したクイックスタートをご覧ください。

始める前に

始める前に、以下のタスクを実行する必要があります。

Java のインストール

HBase シェルと Java 用 Cloud Bigtable HBase クライアントを使用するには、Java 8 ランタイム環境をインストールする必要があります。Java の他のバージョンはサポートされていません。

Debian GNU / Linux または Ubuntu で Java 8 JDK をインストールするには、次のコマンドを実行します。

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

その他のオペレーティング システムの場合は、Java JDK をダウンロードしてインストールします。

Maven のインストール

HBase シェルを実行するには、Apache Maven をインストールする必要があります。HBase シェルは、Maven を使用して必要な依存関係をダウンロードします。

Debian GNU / Linux または Ubuntu で Maven をインストールするには、次のコマンドを実行します。

sudo apt-get update
sudo apt-get install maven

macOS の場合には、Homebrew を使用して Maven をインストールします。

brew install maven

その他のオペレーティング システムの場合には、Maven のウェブサイトの手順をご覧ください。

認証情報の取得

ご自分のマシンに HBase シェルをインストールしたら、Google Cloud Platform リソースへのアクセスに使用するユーザー認証情報を取得する必要があります。

認証情報を取得するには、次のコマンドを実行します。

gcloud auth application-default login

ウェブブラウザが開きます。プロンプトが表示されたら自分の Google アカウントを選択し、[許可する] をクリックしてアカウントへのアクセスを承認します。

HBase シェルのセットアップ

必須ファイルのダウンロード

コマンドラインから、HBase シェル クイックスタートを含む GitHub リポジトリのクローンを作成します。

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

リポジトリのクローンは cloud-bigtable-examples ディレクトリに作成されます。

JAVA_HOME 環境変数の設定

シェルの JAVA_HOME 環境変数には、Java ランタイム環境の存在場所を設定する必要があります。

JAVA_HOME の現在値を確認する場合は、次のコマンドを実行します。

echo ${JAVA_HOME}

このコマンドを実行しても何も出力されない場合は、環境変数が設定されていません。

Debian GNU / Linux または Ubuntu 上でこの値を設定するには、次のコマンドを実行します。

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

Debian GNU / Linux または Ubuntu では /usr/lib/jvm/java-8-openjdk-amd64/jre が通常の値です。

macOS で値を設定するには(Xcode コマンドライン ツールが必要):

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

macOS では /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home が通常の値です。

JAVA_HOME の値を設定したら、次のコマンドを実行して、設定した値が Java の正しいバージョンを指していることを確認します。

${JAVA_HOME}/bin/java -version

Cloud Bigtable インスタンスへの接続

HBase シェルを使用すると、Cloud Bigtable インスタンスへの接続、既存の表に関する情報の取得、新しい表の作成を実行できます。

HBase シェルを開始するには、cloud-bigtable-examples GitHub リポジトリのクローンを作成したディレクトリで次のコマンドを実行します。

cd quickstart
./quickstart.sh

プロジェクトに Cloud Bigtable インスタンスが 1 つしかない場合、HBase はこのインスタンスに自動的に接続します。プロジェクトに複数の Cloud Bigtable インスタンスが存在する場合、HBase シェルはインスタント ID のリストを表示します。インスタント ID の横にある番号を入力して、Enter キーを押します。

HBase シェルがインスタンスに接続すると、一連のログメッセージが表示されますが、これは正常な動作です。次のシェル プロンプトが表示されます。

hbase(main):001:0>

HBase シェルが起動したら、次のコマンドを実行してみてください。

  • 表を一覧表示する場合は「list」と入力して Enter キーを押します。まだ表が作成されていない場合は、次のようなメッセージが表示されます。

    TABLE
    0 row(s) in 1.3580 seconds
    
    => []
    
  • 表を作成する場合は、create コマンドを使用します。たとえば、1 つの列ファミリー cf1 を持つ my-table という名前の表を作成する場合は、次のように指定します。

    create 'my-table', 'cf1'
    

    次のようなメッセージが表示されます。

    0 row(s) in 1.5210 seconds
    
    => Hbase::Table - my-table
    
  • 表にデータを追加する場合は、put コマンドを使用します。たとえば、列ファミリー cf1 と列修飾子 c1 を使用して、行 r1 に値 test-value を追加する場合は、次のように指定します。

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

    これにより、scan コマンドを使用して表をスキャンして、追加したデータを読み込むことができます。

    scan 'my-table'
    

    次のような出力が表示されます。

    ROW      COLUMN+CELL
     r1      column=cf1:c1, timestamp=1430687836046, value=test-value
    1 row(s) in 0.6260 seconds
    
  • 表をドロップする場合は、disable コマンドを使用して表を無効化してから、drop コマンドを実行します。たとえば、表 my-table をドロップする場合であれば、次のコマンドを実行します。

    disable 'my-table'
    drop 'my-table'
    
  • HBase シェルを終了する場合は、「exit」と入力して Enter キーを押します。

HBase シェルが実行されている状態で、「help」と入力すると使い方が表示されます。詳しくは、HBase のドキュメントをご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Bigtable ドキュメント