安装适用于 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 文档