HBase - Shell

本章介绍如何启动随 HBase 一起提供的 HBase 交互式 shell。

HBase Shell

HBase 包含一个 shell,您可以使用它与 HBase 进行通信。HBase 使用 Hadoop 文件系统来存储其数据。它将拥有一个主服务器和区域服务器。数据存储将以区域(表)的形式进行。这些区域将被拆分并存储在区域服务器中。

主服务器管理这些区域服务器,所有这些任务都在 HDFS 上进行。下面给出了 HBase Shell 支持的一些命令。

常规命令

  • status - 提供 HBase 的状态,例如服务器数量。

  • version - 提供正在使用的 HBase 版本。

  • table_help - 提供表引用命令的帮助。

  • whoami - 提供有关用户的信息。

数据定义语言

这些是操作 HBase 中表的命令。

  • create - 创建表。

  • list - 列出HBase。

  • disable - 禁用表。

  • is_disabled - 验证表是否已禁用。

  • enable - 启用表。

  • is_enabled - 验证表是否已启用。

  • describe - 提供表的描述。

  • alter - 更改表。

  • exists - 验证表是否存在。

  • drop - 从 HBase 中删除表。

  • drop_all - 删除与给定的"正则表达式"匹配的表命令。

  • Java Admin API - 在上述所有命令之前,Java 提供了一个 Admin API,用于通过编程实现 DDL 功能。在 org.apache.hadoop.hbase.client 包下,HBaseAdmin 和 HTableDescriptor 是此包中提供 DDL 功能的两个重要类。

数据操作语言

  • put - 将单元格值放入特定表格中指定行的指定列。

  • get - 获取行或单元格的内容。

  • delete - 删除表格中的单元格值。

  • deleteall - 删除给定行中的所有单元格。

  • scan - 扫描并返回表格数据。

  • count - 计算并返回表格中的行数。

  • truncate - 禁用、删除并重新创建指定表格。

  • Java 客户端 API - 在所有上述命令之前,Java 提供了一个客户端 API通过编程在 org.apache.hadoop.hbase.client 包下实现 DML 功能、CRUD(创建检索更新删除)操作等。HTable PutGet 是此包中的重要类。

启动 HBase Shell

要访问 HBase shell,您必须导航到 HBase 主文件夹。

cd /usr/localhost/
cd Hbase

您可以使用"hbase shell"命令启动 HBase 交互式 shell,如下所示。

./bin/hbase shell

如果您已在系统中成功安装 HBase,则它会为您提供如下所示的 HBase shell 提示符。

HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94.23, rf42302b28aceaab773b15f234aa8718fff7eea3c, Wed Aug 27
00:54:09 UTC 2014

hbase(main):001:0>

要随时退出交互式 shell 命令,请键入 exit 或使用 <ctrl+c>。在继续操作之前,请检查 shell 是否正常运行。为此,请使用 list 命令。List 是用于获取 HBase 中所有表的列表的命令。首先,使用此命令验证系统中 HBase 的安装和配置,如下所示。

hbase(main):001:0> list

键入此命令时,它会为您提供以下输出。

hbase(main):001:0> list
TABLE