
# 快速创建和使用HBase离线数据查询集群
#### 操作场景
本入门提供从零开始创建未开启Kerberos认证的HBase查询集群并通过集群客户端进行HBase表的创建与查询操作指导。
HBase集群使用Hadoop和HBase组件提供一个稳定可靠、性能优异、可伸缩、面向列的分布式云存储系统，适用于海量数据存储以及分布式计算的场景，用户可以利用HBase搭建起TB至PB级数据规模的存储系统，对数据轻松进行过滤分析，毫秒级得到响应，快速发现数据价值。
#### 操作流程
开始使用如下样例前，请务必按[准备工作]指导完成必要操作。
1. [创建MRS集群]：自定义创建一个MRS 3.2.0-LTS.1版本的未开启Kerberos认证的"HBase查询集群"。
2. [安装集群客户端]：下载并安装MRS集群客户端。
3. [使用HBase客户端创建表]：在HBase客户端创建表、插入表数据、查询表数据及删除表。
4. [释放资源]：如果您在完成实践后不需要继续使用MRS集群，请及时清理资源以免产生额外扣费。
 
 #### 准备工作
- 注册账号并实名认证。 在创建MRS集群之前，请先[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)，进行[实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0071343161.html)。
  如果您已开通华为云并进行实名认证，请忽略此步骤。
  
- 请您保证账户有足够的资金，以免创建MRS集群失败，具体操作请参见[账户充值](https://support.huaweicloud.com/usermanual-billing/bills-topic_30000002.html)。
- 已准备具有创建MRS集群权限的IAM用户，详细操作请参见[创建IAM用户并授权使用MRS](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0453.html)。
 
#### 操作视频
该视频为您介绍如何在MRS集群创建成功后，通过登录HBase客户端实现创建表，往表中插入数据并修改表数据等功能。
因不同版本操作界面可能存在差异，相关视频供参考，具体以实际环境为准。
<video controls="controls" preload="none" id="zh-cn_topic_0000001676905562_object10426171213235" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/mrs-video/1677746312863470938.mp4" title="使用HBase客户端" poster="https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000002316313252.jpg" height="338.0000" width="600.0000"></video>
 #### 步骤一：创建MRS集群
1. 进入[购买MRS集群页面](https://console.huaweicloud.com/mrs/?#/clusterCreate/quick)。
2. 在服务列表中搜索"MapReduce服务 MRS"，进入MRS服务管理控制台。
3. 单击"购买集群"，进入"购买集群"页面，选择"快速购买"页签。
4. 根据实际业务规划情况填写集群配置信息（本示例为快速创建按需计费的未开启Kerberos认证的MRS 3.2.0-LTS.1版本集群，如需了解更多参数配置请参考[快速创建MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0496.html)）。
   
   表1MRS集群配置参数 
   | 参数         | 示例                  | 参数说明                                                                                                        |
   |:---|:---|:---|
   | 区域         | **华北-北京四**          | 选择区域。 不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域，可减少网络时延，提高访问速度。                      |
   | 计费模式       | **按需计费**            | 选择待创建的集群的计费模式，MRS提供"包年/包月"与"按需计费"两种计费模式。 按需计费是一种后付费模式，即先使用再付费，按照MRS集群实际使用时长计费。 |
   | 集群名称       | **mrs_demo**        | 待创建的MRS集群名称。                                                                                                |
   | 集群类型       | **自定义**             | 根据实际业务需要选择待创建的MRS集群类型。"自定义"类型集群提供丰富的组件搭配，可自行选择对应版本MRS集群所支持的所有组件。                                            |
   | 版本类型       | **LTS版**            | 待创建的MRS集群版本类型，不同版本所包含的开源组件版本及功能特性可能不同。                                                                      |
   | 集群版本       | **MRS 3.2.0-LTS.1** | 待创建的MRS集群版本，不同版本所包含的开源组件版本及功能特性可能不同，推荐选择最新版本。                                                               |
   | 组件选择       | **HBase查询集群**       | 基于系统预置的集群模板选择要购买的集群组件。                                                                                      |
   | 可用区        | **可用区1**            | 选择集群工作区域下关联的可用区。                                                                                            |
   | 虚拟私有云      | **vpc-default**     | 选择需要创建集群的VPC，单击"查看虚拟私有云"进入VPC服务查看已创建的VPC名称和ID。如果没有VPC，需要创建一个新的VPC。                                          |
   | 子网         | **subnet-default**  | 选择需要创建集群的子网，可进入VPC服务查看VPC下已创建的子网名称和ID。如果VPC下未创建子网，请单击"创建子网"进行创建。                                            |
   | 集群节点       | **保持默认**            | 配置集群节点信息。                                                                                                   |
   | Kerberos认证 | **不开启**             | 是否启用Kerberos认证。                                                                                             |
   | 用户名        | **admin/root**      | 登录集群管理页面及ECS节点的用户名。                                                                                         |
   | 密码         | -                   | 设置登录集群管理页面及ECS节点用户的密码。                                                                                      |
   | 确认密码       | -                   | 再次输入设置用户密码。                                                                                                 |
   | 企业项目       | **default**         | 选择集群所属的企业项目。                                                                                                |
   | 通信安全授权     | **勾选**              | 勾选确认授权。                                                                                                     |
      
   图1购买HBase查询集群   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000002456693318.png "点击放大")
   
   
5. 单击"立即购买"，进入任务提交成功页面。
6. 单击"返回集群列表"，在"现有集群"列表中可以查看到集群创建的状态。 
   集群创建需要时间，所创集群的初始状态为"启动中"，创建成功后状态更新为"运行中"，请您耐心等待。
   
   
 
 #### 步骤二：安装集群客户端
MRS集群创建成功后，用户可安装集群客户端用于连接集群内各组件服务，进行作业提交等操作。
客户端可以安装在集群内的节点上，也可以安装在集群外的节点上。本指南以在Master1节点上安装客户端为例进行介绍。
1. MRS集群创建成功后，在集群列表中单击MRS集群名称进入集群概览页面。
2. 单击"集群管理页面 "后的"前往 Manager"，在弹出的窗口中选择"EIP访问"并配置弹性IP信息。 
   首次访问时，可单击"管理弹性公网IP"，在弹性公网IP控制台购买一个弹性公网IP，购买成功后刷新弹性公网IP列表并选择。
   
   
3. 勾选确认信息后，单击"确定"，登录集群的FusionInsight Manager管理界面。 
   Manager登录用户名为admin，密码为购买集群时配置的用于登录Manager管理界面的"admin"用户的自定义密码。
   
   
4. 在"主页"页签的集群名称后单击![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001936418614.png)，单击"下载客户端"下载集群客户端。
   
   图2下载客户端   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001936419918.png "点击放大")
   在"下载集群客户端"弹窗中，配置以下参数：
   - 选择客户端类型：选择"完整客户端"。
   
   - 选择平台类型：默认勾选即可，例如"x86_64"。
   
   - 勾选"仅保存到如下路径"，使用默认保存路径，文件生成后将保存在集群主OMS节点的"/tmp/FusionInsight-Client"目录下。
   
   
   图3下载集群客户端提示框   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001963580973.png)
   单击"确定"后，等待客户端软件生成成功。
   
   
5. 在MRS服务管理控制台的集群列表中，单击集群名称，在集群的"节点管理"页签，单击包含"master1"的节点名称，在ECS详情页面单击右上角的"远程登录"登录Master1节点。 
   图4查看Master1节点   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000002184974017.png "点击放大")
   
   
6. 使用**root**用户登录Master1节点，密码为购买集群时配置的用于登录集群节点的"root"用户自定义密码。
7. 执行以下命令切换到客户端软件包所在目录，并解压客户端软件包： 
   ```
   cd /tmp/FusionInsight-Client/
   ```
   ```
   tar -xvf FusionInsight_Cluster_1_Services_Client.tar
   ```
   ```
   tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar
   ```
   
   
8. 执行以下命令进入安装包所在目录，安装客户端： 
   ```
   cd FusionInsight_Cluster_1_Services_ClientConfig
   ```
   执行如下命令安装客户端到指定目录（绝对路径），例如安装到"/opt/client"目录，等待客户端安装完成。
   ```
   ./install.sh /opt/client
   ```
   执行结果如下：
   ```
   ...
   ... component client is installed successfully
   ...
   ```
   ![](https://support.huaweicloud.com/qs-mrs/public_sys-resources/note_3.0-zh-cn.png)
   客户端安装目录可以不存在，会自动创建。但如果存在，则必须为空，目录路径不能包含空格。且客户端安装目录路径只能包含大写字母、小写字母、数字以及**_**字符。
   
   
 
 #### 步骤三：使用HBase客户端创建表
1. 以**root**用户登录MRS客户端所在节点（Master1节点）。
2. 执行以下命令切换到客户端安装目录并配置环境变量。 
   切换到客户端安装目录：
   ```
   cd /opt/client
   ```
   配置环境变量：
   ```
   source bigdata_env
   ```
   本操作以未开启Kerberos认证的集群为例进行演示，如果集群启用了Kerberos认证，则还需执行以下命令认证用户：
   ```
   kinit 组件业务用户
   ```
   用户创建操作请参见[创建用户](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0345.html#section1)，且该用户需具有创建HBase表的权限，HBase未启用Ranger鉴权时可参考[创建HBase权限角色](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1608.html)创建具有相应权限的角色并绑定给用户；HBase如果启用了Ranger鉴权功能则须基于Ranger配置相关策略进行用户权限管理，具体操作可参考[添加HBase的Ranger访问权限策略](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1857.html)。
   
   
3. 执行以下命令进入HBase Shell命令行。 
   ```
   hbase shell
   ```
   
   
4. 运行HBase客户端命令，创建表"user_info"并插入数据。 
   1. 执行以下命令创建表"user_info"：
      ```
      create 'user_info',{NAME => 'i'}
      ```
      
   
   2. 执行以下命令向表"user_info"中添加相关数据：
      ```
      put 'user_info','12005000201','i:name','A'
      put 'user_info','12005000201','i:gender','Male'
      put 'user_info','12005000201','i:age','19'
      put 'user_info','12005000201','i:address','City A'
      put 'user_info','12005000201','i:degree','master'
      put 'user_info','12005000201','i:pose','manager'
      ```
      
   
   
   
   
5. 查询HBase表内容。 
   1. 根据用户编号查询用户姓名和地址。
      ```
      scan 'user_info',{STARTROW=>'12005000201',STOPROW=>'12005000201',COLUMNS=>['i:name','i:address']}
      ```
      查询结果如下：
      ```
      ROW                                      COLUMN+CELL                                                                                                           
       12005000201                             column=i:address, timestamp=2021-10-30T10:21:42.196, value=City A                                                     
       12005000201                             column=i:name, timestamp=2021-10-30T10:21:18.594, value=A                                                             
      1 row(s)
      Took 0.0996 seconds
      ```
      
   
   2. 根据用户姓名进行查询。
      ```
      scan 'user_info',{FILTER=>"SingleColumnValueFilter('i','name',=,'binary:A')"}
      ```
      查询结果如下：
      ```
      ROW                                      COLUMN+CELL                                                                                                           
       12005000201                             column=i:address, timestamp=2021-10-30T10:21:42.196, value=City A                                                     
       12005000201                             column=i:age, timestamp=2021-10-30T10:21:30.777, value=19                                                             
       12005000201                             column=i:degree, timestamp=2021-10-30T10:21:53.284, value=master                                                      
       12005000201                             column=i:gender, timestamp=2021-10-30T10:21:18.711, value=Male                                                        
       12005000201                             column=i:name, timestamp=2021-10-30T10:21:18.594, value=A                                                             
       12005000201                             column=i:pose, timestamp=2021-10-30T10:22:07.152, value=manager                                                       
      1 row(s)
      Took 0.2158 seconds
      ```
      
   
   
   
   
6. 删除HBase表。 
   1. 删除用户信息表中该用户的数据。
      ```
      delete 'user_info','12005000201','i'
      ```
      
   
   2. 删除用户信息表。
      ```
      disable 'user_info'
      ```
      ```
      drop 'user_info'
      ```
      
   
   
   
   
 
 #### 后续操作：释放资源
如果您无需继续使用该MRS集群，请及时释放资源，避免产生额外的费用。详细操作步骤请参见[删除MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0042.html)。
#### 相关信息
更多HBase权限管理、使用索引及全局二级索引查询表数据、使用BulkLoad工具迁移HBase数据等操作请参见[使用HBase](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_0500.html)。
