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.
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
- Log in to the CloudTable console.
- Select a region in the upper left corner.
- Click Cluster Management.
- 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.
- Click Buy Now. On the displayed page, confirm the specifications and click Finish.
- 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
- Purchase an ECS and log in to the ECS console.
- Select a region in the upper left corner.
- In the service list on the left, choose Computing > Elastic Cloud Server. The Elastic Cloud Server page is displayed.
- Click Buy ECS in the upper right corner. The parameter configuration page is displayed.
- Configure ECS parameters, including basic settings, instance, OS, storage replica, network, security group, public access, ECS management, advanced settings, and quantity.
- 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".
NoteTo 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.
- Obtain the IP address of the local host. Press Win+R. The Run dialog box is displayed.
- Enter cmd in the text box and click OK. The cmd window is displayed.
- Enter ipconfig in the command window and press Enter to query the IP address of the local host.
- Log in to the ECS console.
- 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.
- Click Add Rule in the upper right corner of the page.
- 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.
- Log in to the CloudTable console.
- Select a region in the upper left corner.
- Click Help in the navigation pane.
- 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.
- Click Download Client Verification File to download the verification file.
Step 5: Installing the Client and Verifying the Client
- 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.
- Upload the client downloaded in Step 2: Preparing an ECS to the Linux ECS.
- 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.gzcd <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.
- Decompress the client verification file to the same directory as the client.
- Decompress the client verification file.cd <Path for storing the client verification file >tar xzvf Client_sha256.tar.gz
- Obtain the client verification code.sha256sum HBase_Client_2.4.14.tar.gz
- 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
- Decompress the client verification file.
- 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:
- 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
- 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.
- hbase.zookeeper.quorum: The value of this parameter is the ZooKeeper link of the cluster found in the cluster list.
- 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
- 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' - 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' - 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']} - 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')"} - 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' - Delete the user information table.disable 'user_info';drop 'user_info'
- Background Information
- Step 1: Buying an HBase Cluster
- Step 2: Preparing an ECS
- Step 3: Adding a Security Group
- Step 4: Downloading the HBase Client and Verification File.
- Step 5: Installing the Client and Verifying the Client
- Step 6: Running the HBase Client Command to Implement Service A