安装 HBase shell
HBase shell 是一款命令行工具,用于执行诸如创建和删除表之类的管理任务。Java 版 Cloud Bigtable HBase 客户端是一个客户端库,可让您使用 HBase shell 连接到 Bigtable。
本页面介绍了如何在 Compute Engine 实例或您自己的机器上安装 HBase shell 以及适用于 Java 的 Cloud Bigtable HBase 客户端。您无需安装任何其他 HBase 依赖项,例如 Apache ZooKeeper。Java 版 Cloud Bigtable HBase 客户端不需要这些额外的依赖项。
您也可以在 Cloud Shell 上运行 HBase shell。如需了解相关说明,请参阅快速入门:使用 HBase Shell。
准备工作
开始前,您需要完成以下任务:
- 创建 Bigtable 实例。请务必记下项目 ID 和实例 ID。
- 安装 Google Cloud CLI。如需了解详情,请参阅 Google Cloud CLI 设置说明。
- 如果您要在 Compute Engine 实例上安装 HBase shell,请创建一个实例,使其具有 Bigtable 的正确范围。
安装 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 资源的用户访问凭据。
如需获取凭据,请运行以下命令:
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
连接到 Bigtable 实例
您可以使用 HBase shell 连接到 Bigtable 实例,获取现有表的相关信息,并创建新表。
如需启动 HBase shell,请在克隆了 cloud-bigtable-examples
GitHub 存储库的目录中运行以下命令:
cd quickstart
./quickstart.sh
如果您的项目只有一个 Bigtable 实例,那么 HBase shell 将自动连接到该实例。如果您的项目有多个 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 文档。