コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

HBase シェルをインストールする

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

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

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

始める前に

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

  • Bigtable インスタンスを作成します。プロジェクト ID とインスタンス ID を必ずメモしてください。
  • Google Cloud CLI をインストールします。詳しくは、Google Cloud CLI の設定手順をご覧ください。
  • Compute Engine インスタンス上に HBase シェルをインストールする場合は、Bigtable 用の正しいスコープを持つインスタンスを作成します。

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 リソースへのアクセスに使用するユーザー認証情報を取得する必要があります。

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

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 Runtime Environment の存在場所を設定する必要があります。

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

Bigtable インスタンスに接続する

HBase シェルを使用して Bigtable インスタンスに接続し、既存のテーブルに関する情報を取得して、新しいテーブルを作成できます。

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

cd quickstart
./quickstart.sh

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

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

hbase(main):001:0>

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

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

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

    create 'my-table', 'cf1'
    

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

    0 row(s) in 1.5210 seconds
    
    => Hbase::Table - my-table
    
  • テーブルにデータを追加するには、put コマンドを使用します。たとえば、列ファミリー cf1 と列修飾子 c1 を使用して、行 r1test-value という値を入れます。

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

    その後、scan コマンドを使用してテーブルをスキャンし、追加したデータを読み取ることができます。

    scan 'my-table'
    

    Shell によって次のような出力が表示されます。

    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 のドキュメントをご覧ください。