Updated on 2022-12-14 GMT+08:00

Using HBase from Scratch

HBase is a column-based distributed storage system that features high reliability, performance, and scalability. This section describes how to use HBase from scratch, including how to update the client on the Master node in the cluster, create a table using the client, insert data in the table, modify the table, read data from the table, delete table data, and delete the table.

Background

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 titles to the table.
  • Query user names and addresses by user ID.
  • Query information by user name.
  • 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

City A

12005000202

B

Female

23

City B

12005000203

C

Male

26

City C

12005000204

D

Male

18

City D

12005000205

E

Female

21

City E

12005000206

F

Male

32

City F

12005000207

G

Female

29

City G

12005000208

H

Female

30

City H

12005000209

I

Male

26

City I

12005000210

J

Male

25

City J

Prerequisites

The client has been installed. For example, the client is installed in the /opt/client directory. The client directory in the following operations is only an example. Change it to the actual installation directory. Before using the client, download and update the client configuration file, and ensure that the active management node of Manager is available.

Procedure

  1. Use the client on the active management node.

    1. Log in to the node where the client is installed as the client installation user and run the following command to switch to the client directory:

      cd /opt/client

    2. Run the following command to configure environment variables:

      source bigdata_env

    3. If Kerberos authentication is enabled for the current cluster, run the following command to authenticate the current user. The current user must have the permission to create HBase tables. For details about how to configure a role with corresponding permissions, see . To bind a role to a user, see . If Kerberos authentication is disabled for the current cluster, skip this step.

      kinit MRS cluster user

      For example, kinit hbaseuser.

    4. Run the following HBase client command:

      hbase shell

  2. Run the following commands on the HBase client to implement service A.

    1. Create the user_info user information table according to Table 1 and add 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','City A'

    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 user names 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 user name.

      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'