Advanced
Тема интерфейса

Quickly Creating an HBase Cluster and Querying Offline Data

HBase is a column-based distributed storage system that features high reliability, performance, and scalability. This section describes how to use HBase from scratch. For example, how to run the HBase shell command to create tables, insert data into tables, modify tables, read and delete table data, and delete tables.

Background Information

Suppose a user develops an application to manage users who use service A in an enterprise. The procedure of operating service A on the HBase client is as follows:

  • Create the user_info table.
  • Add users' educational backgrounds and professional titles to the table.
  • Query usernames and addresses by user ID.
  • Query information by username.
  • Deregister users and delete user data from the user information table.
  • Delete the user information table after service A ends.
Table 1 User information

ID

Name

Gender

Age

Address

12005000201

A

Male

19

IPA, IPB

12005000202

B

Female

23

IPC, IPD

12005000203

C

Male

26

IPE, IPF

12005000204

D

Male

18

IPG, IPH

12005000205

E

Female

21

IPI, IPJ

12005000206

F

Male

32

IPK, IPL

12005000207

G

Female

29

IPM, IPN

12005000208

H

Female

30

IPO, IPP

12005000209

I

Male

26

IPQ, IPR

12005000210

J

Male

25

IPS, IPT

Step 1: Buying an HBase Cluster

  1. Log in to the CloudTable console.
  2. Select a region in the upper left corner.
  3. Click Cluster Management.
  4. Click Buy Cluster in the upper right corner of the Cluster Management page and set related parameters. For details about how to configure ports for security group rules, see HBase security group rules.
  5. Click Buy Now. On the displayed page, confirm the specifications and click Finish.
  6. Return to the cluster list to view the cluster creation progress. If the cluster status is Running, the cluster is successfully created. For details, see "Using HBase > Creating an HBase Cluster" in the CloudTable Service User Guide.
    Table 2 HBase security group rules

    Direction

    Protocol

    Port/Range

    Source/Security Group

    Usage

    Outbound

    All

    All

    0.0.0.0/0

    Permit in the outbound direction

    Inbound

    TCP

    16000

    Security group of the CloudTable HBase cluster

    HMaster RPC port

    TCP

    16020

    RegionServer RPC port

    TCP

    2181

    ZooKeeper client connection monitoring port

    TCP

    2888

    Follower connection monitoring port

    TCP

    3888

    ZooKeeper election port

    TCP

    2000

    HAgent access port

Step 2: Preparing an ECS

  1. Purchase an ECS and log in to the ECS console.
  2. Select a region in the upper left corner.
  3. In the service list on the left, choose Computing > Elastic Cloud Server. The Elastic Cloud Server page is displayed.
  4. Click Buy ECS in the upper right corner. The parameter configuration page is displayed.
  5. Configure ECS parameters, including basic settings, instance, OS, storage replica, network, security group, public access, ECS management, advanced settings, and quantity.
  6. Check the configurations, select the agreement, and click Submit. After the ECS is created, it will be started by default.

    For details, see User Guide > "Getting Started" > "Creating an ECS".

    Note

    To ensure successful connection of the cluster to the VPC, the security group configurations must align with those of the ECS.

Step 3: Adding a Security Group

Add the IP address of the local host to the ECS security group.

  1. Obtain the IP address of the local host. Press Win+R. The Run dialog box is displayed.
  2. Enter cmd in the text box and click OK. The cmd window is displayed.
  3. Enter ipconfig in the command window and press Enter to query the IP address of the local host.
  4. Log in to the ECS console.
  5. On the ECS list page, click the ECS name. On the Basic Information tab page, click the Security Group tab. On the displayed page, click Inbound Rules.
  6. Click Add Rule in the upper right corner of the page.
  7. Enter the local IP address obtained in 3 as the source IP address. Click OK. The security group is added.

Step 4: Downloading the HBase Client and Verification File.

  1. Log in to the CloudTable console.
  2. Select a region in the upper left corner.
  3. Click Help in the navigation pane.
  4. Choose Download the HBasex.x Client under Helpful Links (choose the version that you need) on the right of the help page to download the client installation package.
  5. Click Download Client Verification File to download the verification file.

Step 5: Installing the Client and Verifying the Client

  1. Use the SSH login tool (such as PuTTY) to log in to the Linux ECS through the EIP.

    For details, see "Logging In to a Linux ECS" > "Logging In to a Linux ECS Using an SSH Password" in the Elastic Cloud Server User Guide.

  2. Upload the client downloaded in Step 2: Preparing an ECS to the Linux ECS.
  3. Run the following command to decompress the client installation package:
    cd <Path of the client installation package>
    tar xzvf hbase-1.3.1-bin.tar.gz
    cd <Path of the client installation package>
    tar xzvf hbase-2.4.14-bin.tar.gz

    <Path of the client installation package>: Replace it with the actual path.

  4. Decompress the client verification file to the same directory as the client.
    1. Decompress the client verification file.
      cd <Path for storing the client verification file >
      tar xzvf Client_sha256.tar.gz
    2. Obtain the client verification code.
      sha256sum HBase_Client_2.4.14.tar.gz
    3. Check the verification code in the client verification file and compare it with the client verification code. A match indicates no tampering, while a mismatch suggests tampering.
      less HBase_Client_2.4.14.tar.gz.sha256
  5. Configure the ZooKeeper address in a configuration file.

    In the decompression directory of the client installation package, open the hbase/conf/hbase-site.xml file and set the following parameters:

    1. hbase.zookeeper.quorum: The value of this parameter is the ZooKeeper link of the cluster found in the cluster list.

      Log in to the CloudTable console and choose Cluster Management. In the cluster list, locate the required cluster and obtain its ZooKeeper link in the ZK Link column. Add this link address to the hbase/conf/hbase-site.xml file.

      Figure 1 Configuring the ZooKeeper address


    2. mapreduce.cluster.local.dir: Check whether the configuration item exists. If the configuration item does not exist, add it.

      The following is an example of configuring the client for a cluster with secure channel encryption disabled:

      <configuration>
      <property>
      <name>hbase.zookeeper.quorum</name>
      <value>xxx-zk1.cloudtable.com:2181,xxx-zk2.cloudtable.com:2181,xxx-zk3.cloudtable.com:2181</value>
      </property>
      <property>
      <name>mapreduce.cluster.local.dir</name>
      <value>${hadoop.tmp.dir}/mapred/local</value>
      </property>
      </configuration>

      For details about how to enable secure channel encryption, see Connecting to a Secure HBase Cluster Using HBase Shell.

  6. Start the shell to access the cluster. Run the bin/hbase shell command to start the shell to access the cluster.

Step 6: Running the HBase Client Command to Implement Service A

  1. Create the user_info table according to Table 1 and add related data to it.
    create 'user_info',{NAME => 'i'}

    For example, to add information about the user whose ID is 12005000201, run the following commands:

    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','IPA, IPB'
  2. Add users' educational backgrounds and titles to the user_info table.

    For example, to add educational background and title information about user 12005000201, run the following commands:

    put 'user_info','12005000201','i:degree','master'
    put 'user_info','12005000201','i:pose','manager'
  3. Query usernames and addresses by user ID.

    For example, to query the name and address of user 12005000201, run the following command:

    scan 'user_info',{STARTROW=>'12005000201',STOPROW=>'12005000201',COLUMNS=>['i:name','i:address']}
  4. Query information by username.

    For example, to query information about user A, run the following command:

    scan 'user_info',{FILTER=>"SingleColumnValueFilter('i','name',=,'binary:A')"}
  5. Delete user data from the user information table.

    All user data needs to be deleted. For example, to delete data of user 12005000201, run the following command:

    delete 'user_info','12005000201','i'
  6. Delete the user information table.
    disable 'user_info';drop 'user_info'