更新时间:2023-03-17 GMT+08:00

使用HBase客户端

操作场景

该任务指导用户在运维场景或业务场景中使用HBase客户端。

前提条件

  • 已安装客户端。例如安装目录为“/opt/hadoopclient”,以下操作的客户端目录只是举例,请根据实际安装目录修改。
  • 各组件业务用户由MRS集群管理员根据业务需要创建。

    “机机”用户需要下载keytab文件,“人机”用户第一次登录时需修改密码。

  • root用户使用HBase客户端,请确保该HBase客户端目录的属主为该用户,否则请参考如下命令修改属主。

    chown user:group -R 客户端安装目录/HBase

使用Hbase客户端(MRS 3.x之前版本)

  1. 以客户端安装用户,登录安装客户端的节点。
  2. 执行以下命令切换到客户端目录。

    cd /opt/hadoopclient

  3. 执行以下命令配置环境变量。

    source bigdata_env

  4. 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建HBase表的权限,具体请参见创建角色配置拥有对应权限的角色,参考创建用户章节,为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行此命令。

    kinit 组件业务用户

    例如,kinit hbaseuser

  5. 直接执行HBase组件的客户端命令。

    hbase shell

使用HBase客户端(MRS 3.x及之后版本)

  1. 以客户端安装用户,登录安装客户端的节点。
  2. 执行以下命令切换到客户端目录。

    cd /opt/hadoopclient

  3. 执行以下命令配置环境变量。

    source bigdata_env

  4. 若安装了HBase多实例,在使用客户端连接具体HBase实例时,请执行以下命令加载具体实例的环境变量,否则请跳过此步骤。例如,加载HBase2实例变量:

    source HBase2/component_env

  5. 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建HBase表的权限,具体请参见创建角色配置拥有对应权限的角色,参考创建用户章节,为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行此命令。

    kinit 组件业务用户

    例如,kinit hbaseuser

  6. 直接执行HBase组件的客户端命令。

    hbase shell

HBase客户端常用命令

常用的HBase客户端命令如下表所示。更多命令可参考http://hbase.apache.org/2.2/book.html
表1 HBase客户端命令

命令

说明

create

创建一张表,例如create 'test', 'f1', 'f2', 'f3'

disable

停止指定的表,例如disable 'test'

enable

启动指定的表,例如enable 'test'

alter

更改表结构。可以通过alter命令增加、修改、删除列族信息以及表相关的参数值,例如alter 'test', {NAME => 'f3', METHOD => 'delete'}

describe

获取表的描述信息,例如describe 'test'

drop

删除指定表。删除前表必须已经是停止状态,例如drop 'test'

put

写入指定cell的value。Cell的定位由表、rowk、列组合起来唯一决定,例如put 'test','r1','f1:c1','myvalue1'

get

获取行的值或者行的指定cell的值。例如get 'test','r1'

scan

查询表数据。参数中指定表名和scanner,例如scan 'test'