操作场景
该任务指导用户在运维场景或业务场景中使用HBase客户端。
前提条件
- 已安装客户端。例如安装目录为“/opt/hadoopclient”,以下操作的客户端目录只是举例,请根据实际安装目录修改。
- 各组件业务用户由系统管理员根据业务需要创建。
“机机”用户需要下载keytab文件,“人机”用户第一次登录时需修改密码。
- 非root用户使用HBase客户端,请确保该HBase客户端目录的属主为该用户,否则请参考如下命令修改属主。
chown user:group -R 客户端安装目录 /HBase
使用Hbase客户端(MRS 3.x之前版本)
- 以客户端安装用户,登录安装客户端的节点。
- 执行以下命令切换到客户端目录。
cd /opt/hadoopclient
- 执行以下命令配置环境变量。
source bigdata_env
- 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建HBase表的权限,具体请参见“用户指南 > 管理现有集群 > MRS多用户权限管理 > 创建角色”配置拥有对应权限的角色,参考“用户指南 > 管理现有集群 > MRS多用户权限管理 > 创建用户”章节,为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行此命令。
kinit 组件业务用户
例如,kinit hbaseuser。
- 直接执行HBase组件的客户端命令。
hbase shell
使用HBase客户端(MRS 3.x及之后版本)
-
以客户端安装用户,登录安装客户端的节点。
-
执行以下命令切换到客户端目录。
cd /opt/hadoopclient
- 执行以下命令配置环境变量。
source bigdata_env
- 若安装了HBase多实例,在使用客户端连接具体HBase实例时,请执行以下命令加载具体实例的环境变量,否则请跳过此步骤。例如,加载HBase2实例变量:
source HBase2/component_env
- 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建HBase表的权限,具体请参见“用户指南 > 管理现有集群 > MRS多用户权限管理 > 创建角色”配置拥有对应权限的角色,参考“用户指南 > 管理现有集群 > MRS多用户权限管理 > 创建用户”章节,为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行此命令。
kinit 组件业务用户
- 直接执行HBase组件的客户端命令。
hbase shell
HBase客户端常用命令
常用的HBase客户端命令如下表所示。更多命令可参考http://hbase.apache.org/2.2/book.html
详见下表: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'。 |