Help Center/ MapReduce Service/ Getting Started/ Creating and Using an HBase Cluster for Offline Query
Updated on 2024-08-28 GMT+08:00

Creating and Using an HBase Cluster for Offline Query

Scenario

This topic helps you create an HBase query cluster from scratch and describes how to create and query HBase tables through the cluster client.

An HBase cluster uses Hadoop and HBase components to provide a column-oriented distributed cloud storage system featuring enhanced reliability, great performance, and elastic scalability. It applies to the storage and distributed computing of massive amounts of data. You can use HBase to build a storage system capable of storing TB- or even PB-level data. With HBase, you can filter and analyze data with ease and get responses in milliseconds, rapidly mining data value.

Procedure

Before you start, complete operations described in Preparations. Then, follow these steps:

  1. Creating an MRS Cluster: Create an HBase query cluster of MRS 3.2.0-LTS.1.
  2. Installing the Cluster Client: Download and install the MRS cluster client.
  3. Creating a Table Using the HBase Client: Create a table, insert table data, query the data, and delete the table on the HBase client.

Preparations

Video Tutorial

This video uses an MRS 3.1.0 cluster (with Kerberos authentication disabled) as an example to describe how to use an HBase client to create a table, insert data into the table, and modify table data. For details about how to use an HBase client to create a table, see Using an HBase Client.

The UI may vary depending on the version. The video tutorial is for reference only.

Step 1: Creating an MRS Cluster

  1. Go to the Buy Cluster page.
  2. Search for MapReduce Service in the service list and enter the MRS console.
  3. Click Buy Cluster. The Quick Config tab is displayed.
  4. Configure the cluster as you need. In this example, a pay-per-use MRS 3.2.0-LTS.1 cluster will be created. For more details about how to configure the parameters, see Quickly Creating a Cluster.

    Table 1 MRS cluster parameters

    Parameter

    Description

    Example Value

    Billing Mode

    Billing mode of the cluster you want to create. MRS provides two billing modes: yearly/monthly and pay-per-use.

    Pay-per-use is a postpaid billing mode. You pay as you go and pay for what you use. The cluster usage is calculated by the second but billed every hour.

    Pay-per-use

    Region

    Region where the MRS resources to be requested belong.

    MRS clusters in different regions cannot communicate with each other over an intranet. For lower network latency and quick resource access, select the nearest region.

    CN-Hong Kong

    Cluster Name

    Name of the MRS cluster you want to create.

    mrs_demo

    Cluster Type

    A range of clusters that accommodate diverse big data demands. You can select a Custom cluster to run a wide range of analytics components supported by MRS.

    Custom

    Version Type

    Version of the MRS cluster. Supported open-source components and their functions vary depending on the cluster version.

    LTS

    Cluster Version

    Version of the MRS cluster. Supported open-source components and their functions vary depending on the cluster version. You are advised to select the latest version.

    MRS 3.2.0-LTS.1

    Component

    Cluster templates containing preset opensource components you will need for your business.

    HBase Query Cluster

    AZ

    Available AZ associated with the cluster region.

    AZ1

    VPC

    VPC where you want to create the cluster. You can click View VPC to view the name and ID. If no VPC is available, create one.

    vpc-default

    Subnet

    Subnet where your cluster belongs. You can access the VPC management console to view the names and IDs of existing subnets in the VPC. If no subnet is created under the VPC, click Create Subnet to create one.

    subnet-default

    Cluster Node

    Cluster node details.

    Default value

    Kerberos Authentication

    Whether Kerberos authentication is enabled.

    Disabled

    Username

    Username for logging in to the cluster management page and the ECS node.

    admin/root

    Password

    User password for logging in to the cluster management page and the ECS node.

    -

    Confirm Password

    Enter the user password again.

    -

    Enterprise Project

    Enterprise project to which the cluster belongs.

    default

    Secure Communications

    Select the check box to agree to use the access control rules.

    Selected

    Figure 1 Purchasing an HBase query cluster

  5. Click Buy Now. A page is displayed showing that the task has been submitted.
  6. Click Back to Cluster List. You can view the status of the newly created cluster on the Active Clusters page.

    Wait for the cluster creation to complete. The initial status of the cluster is Starting. After the cluster is created, the cluster status becomes Running.

Step 2: Installing the Cluster Client

You need to install a cluster client to connect to component services in the cluster and submit jobs.

You can install the client on a node in or outside the cluster. This topic installs the client on the Master1 node as an example.

  1. Click the MRS cluster name in the cluster list to go to the dashboard page.
  2. Click Access Manager next to MRS Manager. In the displayed dialog box, select EIP and configure the EIP information.

    For the first access, click Manage EIPs to purchase an EIP on the EIP console. Go back to the Access MRS Manager dialog box, refresh the EIP list, and select the EIP.

  3. Select the confirmation check box and click OK to log in to the FusionInsight Manager of the cluster.

    The username for logging in to FusionInsight Manager is admin, and the password is the one configured during cluster purchase.

  4. On the displayed Homepage page, click next to the cluster name and click Download Client to download the cluster client.

    Figure 2 Downloading the client

    In the Download Cluster Client dialog box, set the following parameters:

    • Set Select Client Type to Complete Client.
    • Retain the default value for Platform Type, for example, x86_64.
    • Retain the default path for Save to Path. The generated file will be saved in the /tmp/FusionInsight-Client directory on the active OMS node of the cluster.
    Figure 3 Downloading the cluster client

    Click OK and wait until the client software is generated.

  5. Go back to the MRS console and click the cluster name in the cluster list. Go to the Nodes tab, click the name of the node that contains master1. In the upper right corner of the ECS details page, click Remote Login to log in to the Master1 node.

    Figure 4 Checking the Master1 node

  6. Log in to the Master1 node as user root. The password is the one you set for the root user during cluster purchase.
  7. Switch to the directory where the client software package is stored and decompress the package.

    cd /tmp/FusionInsight-Client/

    tar -xvf FusionInsight_Cluster_1_Services_Client.tar

    tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar

  8. Go to the directory where the installation package is stored and install the client.

    cd FusionInsight_Cluster_1_Services_ClientConfig

    Install the client to a specified directory (an absolute path), for example, /opt/client.

    ./install.sh /opt/client

    ...
    ... component client is installed successfully
    ...

    A client installation directory will be automatically created if it does not exist. If there is such directory, it must be empty. The specified client installation directory can contain only uppercase letters, lowercase letters, digits, and underscores (_), and cannot contain space.

Step 3: Creating a Table Using the HBase Client

  1. Log in to the node (Master1) where the MRS client is deployed as user root.
  2. Switch to the client installation directory and configure environment variables.

    cd /opt/client

    source bigdata_env

  3. Access the HBase shell CLI.

    hbase shell

  4. Create the user_info table on the HBase client.

    1. Create the user_info table.
      create 'user_info',{NAME => 'i'}
    2. Add data to the user_info table.
      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. Query the HBase table.

    1. Query usernames and addresses by user ID.
      scan 'user_info',{STARTROW=>'12005000201',STOPROW=>'12005000201',COLUMNS=>['i:name','i:address']}

      The query result is as follows:

      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. Query information by username.
      scan 'user_info',{FILTER=>"SingleColumnValueFilter('i','name',=,'binary:A')"}

      The query result is as follows:

      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. Delete the HBase table.

    1. Delete user data from the user information table.
      delete 'user_info','12005000201','i'
    2. Delete the user information table.
      disable 'user_info'
      drop 'user_info'

Related Information

For details about HBase permission management, indexes and global secondary indexes, and HBase data migration using BulkLoad, see Using HBase.