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
を使用して、行r1
にtest-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 のドキュメントをご覧ください。