Building HBase - linux-on-ibm-z/docs GitHub Wiki

Building HBase

The instructions provided below specify the steps to build HBase version 2.6.3 on Linux on IBM Z for following distributions:

  • RHEL (8.10, 9.4, 9.6, 10.0)
  • SLES 15 SP6
  • Ubuntu (22.04, 24.04, 25.04)

General Notes:

  • When following the steps below please use a standard permission user unless otherwise specified.
  • A directory /<source_root>/ will be referred to in these instructions, this is a temporary writable directory anywhere you'd like to place it.

1. Download and Install HBase

export SOURCE_ROOT=/<source_root>/

1.1. Install prerequisites

  • RHEL (8.10, 9.4, 9.6, 10.0)
sudo yum install -y git wget tar make gcc hostname curl
  • SLES 15 SP6
sudo zypper install -y git wget tar make gcc gawk gzip hostname curl
  • Ubuntu (22.04, 24.04, 25.04)
sudo apt update
sudo apt-get install -y git wget tar make gcc hostname curl

1.2. Install JDK

  • With Eclipse Adoptium Temurin Runtime (previously known as AdoptOpenJDK hotspot)

    • Download and install Eclipse Adoptium Temurin Runtime (Java 11 or 17) on all above mentioned distribution (except ub25.04) from here.
  • With OpenJDK

    • RHEL (8.10, 9.4, 9.6)

      • Java 8
      sudo yum install -y java-1.8.0-openjdk-devel
      
      • Java 11
      sudo yum install -y java-11-openjdk-devel
      
      • Java 17
      sudo yum install -y java-17-openjdk-devel
      
    • SLES 15 SP6

      • Java 8
      sudo zypper install -y java-1_8_0-openjdk-devel
      
      • Java 11
      sudo zypper install -y java-11-openjdk-devel
      
      • Java 17
      sudo zypper install -y java-17-openjdk-devel
      
    • Ubuntu (22.04, 24.04, 25.04)

      • Java 8
      sudo apt-get install -y openjdk-8-jdk
      
      • Java 11
      sudo apt-get install -y openjdk-11-jdk
      
      • Java 17
      sudo  apt-get -y install openjdk-17-jdk
      

1.3. Download the HBase binary

cd $SOURCE_ROOT
wget https://archive.apache.org/dist/hbase/2.6.3/hbase-2.6.3-bin.tar.gz
tar zxf hbase-2.6.3-bin.tar.gz
export PATH=$SOURCE_ROOT/hbase-2.6.3/bin:$PATH

1.4. Set the environment

 export JAVA_HOME=<path to Java installation directory>
 export PATH=$JAVA_HOME/bin:$PATH

2. Verification (optional)

Use the following commands to run HBase server:

cd hbase-2.6.3/bin
start-hbase.sh

The HBase Web UI could be accessed from http://<IP or domain name of the host>:16010 after HBase server is successfully started. Then use the following command to run hbase shell:

hbase shell

The output should contain logs similar to:

Version 2.6.3, r01ac2f51f3bb4cee623ea7dced75bfccbb6b562e, Thu Jul 10 14:49:16 UTC 2025

In hbase shell console, type in the following commands:

Version 2.6.3, r01ac2f51f3bb4cee623ea7dced75bfccbb6b562e, Thu Jul 10 14:49:16 UTC 2025
Took 0.0010 seconds                                                                                                                                                                           
hbase:001:0> create 'test', 'cf'
Created table test
Took 3.1871 seconds                                                                                                                                                                           
=> Hbase::Table - test
hbase:002:0> list 'test'
TABLE                                                                                                                                                                                         
test                                                                                                                                                                                          
1 row(s)
Took 0.2189 seconds                                                                                                                                                                           
=> ["test"]
hbase:003:0> put 'test', 'row1', 'cf:a', 'value1'
Took 0.4500 seconds                                                                                                                                                                           
hbase:004:0> put 'test', 'row2', 'cf:b', 'value2'
Took 0.0228 seconds                                                                                                                                                                           
hbase:005:0> put 'test', 'row3', 'cf:c', 'value3'
Took 0.0250 seconds                                                                                                                                                                           
hbase:006:0> scan 'test'
ROW                                              COLUMN+CELL                                                                                                                                  
 row1                                            column=cf:a, timestamp=2025-04-08T10:56:58.540, value=value1                                                                                 
 row2                                            column=cf:b, timestamp=2025-04-08T10:57:03.684, value=value2                                                                                 
 row3                                            column=cf:c, timestamp=2025-04-08T10:57:09.491, value=value3                                                                                 
3 row(s)
Took 0.1471 seconds                                                                                                                                                                           
hbase:007:0> get 'test', 'row1'
COLUMN                                           CELL                                                                                                                                         
 cf:a                                            timestamp=2025-04-08T10:56:58.540, value=value1                                                                                              
1 row(s)
Took 0.1627 seconds                                                                                                                                                                           
hbase:008:0> exit

If your session looks similar to the above, congrats, your standalone HBase server is operational!

Use the following commands to stop HBase server:

stop-hbase.sh

References: