為 Cloud BigTable 安裝 HBase shell

HBase shell 是可執行管理工作 (例如建立與刪除資料表) 的指令列工具。Java 適用的 Cloud Bigtable Hbase 用戶端可以使用 Hbase shell 連線至 Cloud Bigtable。

本頁說明如何在 Compute Engine 執行個體或您自己的機器上安裝 HBase shell 及 Java 適用的 Cloud Bigtable Hbase 用戶端。您不需要再安裝其他 HBase 依附元件,例如 Apache ZooKeeper。Java 適用的 Cloud Bigtable Hbase 用戶端不需要這些額外的依附元件。

您亦可以在 Google Cloud Shell 中執行 HBase shell。如需操作說明,請參閱使用 HBase Shell 的快速入門導覽課程

事前準備

在您開始之前,您需要先完成下方的工作:

安裝 Java 語言

若要在 Java 適用的 Cloud Bigtable Hbase 用戶端使用 HBase shell,您必須安裝 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 shell,您必須安裝 Apache Maven。HBase shell 使用 Maven 來下載所需的依附元件。

若是在 Debian GNU/Linux 或是 Ubuntu 上,您可以透過以下指令來安裝 Maven:

sudo apt-get update
sudo apt-get install maven

在 macOS 上,您可以使用 Homebrew 來安裝 Maven:

brew install maven

若使用其他作業系統,請參閱 Maven 網站上的說明。

獲取憑證

當您在自己的機器上安裝 HBase shell 時,需要先為您的 Google Cloud Platform 資源取得使用者存取憑證。

若要取得憑證,請執行以下指令:

gcloud auth application-default login

該指令會開啟您的瀏覽器。若出現提示,請選擇您的 Google 帳戶,並點擊「允許」以授權存取您的帳戶。

設定 HBase shell

下載所需的檔案

從指令列中,複製含有 HBase shell 快速入門範例的 GitHub 存放區:

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

存放區會被複製到 cloud-bigtable-examples 目錄。

設定 JAVA_HOME 環境變數

shell 的 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 shell 來連線至您的 Cloud Bigtable 執行個體, 取得現有資料表的相關資訊,或是建立新資料表。

若要啟動 HBase shell,請在複製的 cloud-bigtable-examples GitHub 存取區所在目錄中執行以下指令:

cd quickstart
./quickstart.sh

若您的專案中只有一個 Cloud Bigtable 執行個體,HBase shell 將會自動連線至該執行個體。若您的專案中有多個 Cloud Bigtable 執行個體,HBase shell 將會顯示執行個體 ID 列表,請輸入執行個體 ID 旁邊的數字並按下 Enter 鍵。

在 HBase shell 與您的執行個體連接之後,它會呈現一系列的記錄訊息,這是正常現象。接著會出現 shell 提示訊息:

hbase(main):001:0>

現在您已經啟用了 HBase shell,嘗試執行以下指令:

  • 若要列出您的資料表,請輸入 list 並按下 Enter。若您尚未建立任何資料表,HBase shell 會產生類似於以下的訊息:

    TABLE
    0 row(s) in 1.3580 seconds
    
    => []
    
  • 若要建立資料表,請使用 create 指令。例如,建立一個名為 my-table 的資料表,將其資料欄系列命名為 cf1

    create 'my-table', 'cf1'
    

    shell 會產生類似於以下的訊息:

    0 row(s) in 1.5210 seconds
    
    => Hbase::Table - my-table
    
  • 若要在資料表中新增資料,請使用 put 指令。例如,要將值 test-value 放入資料列 r1 中,並使用資料欄系列 cf1 以及資料欄限定詞 c1

    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 shell,請輸入 exit 並按下 Enter。

當 HBase shell 在執行時,您可以輸入 help 來取得使用說明。詳情請參閱 HBase 說明文件

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Bigtable 說明文件