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

Building HBase

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

  • RHEL (8.10, 9.6, 9.7, 10.0, 10.1)
  • SLES (15 SP7, 16)
  • Ubuntu (22.04, 24.04, 25.10)

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.6, 9.7, 10.0, 10.1)
sudo yum install -y git wget tar make gcc hostname curl
  • SLES (15 SP7, 16)
sudo zypper install -y git wget tar make gcc gawk gzip hostname curl
  • Ubuntu (22.04, 24.04, 25.10)
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.10) from here.
  • With OpenJDK

    • RHEL (8.10, 9.6, 9.7)

      • 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 SP7, 16

      • Java 8 # not supported on sles 16
      sudo zypper install -y java-1_8_0-openjdk-devel
      
      • Java 11 # not supported on sles 16
      sudo zypper install -y java-11-openjdk-devel
      
      • Java 17
      sudo zypper install -y java-17-openjdk-devel
      
    • Ubuntu (22.04, 24.04, 25.10)

      • Java 8 # not supported on ub25.10
      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.5/hbase-2.6.5-bin.tar.gz
tar zxf hbase-2.6.5-bin.tar.gz
export PATH=$SOURCE_ROOT/hbase-2.6.5/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.5/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.5, r0255064e5ed1b34c55a5392cd65829fac7a7ab1f, Sun Mar 15 15:40:55 PDT 2026

In hbase shell console, type in the following commands:

2.6.5, r0255064e5ed1b34c55a5392cd65829fac7a7ab1f, Sun Mar 15 15:40:55 PDT 2026
Took 0.0004 seconds                                                                                  
hbase:001:0> create 'test', 'cf'
Created table test
Took 9.4236 seconds
=> Hbase::Table - test
hbase:002:0> list 'test'
TABLE
test
1 row(s)
Took 0.0183 seconds
=> ["test"]
hbase:003:0> put 'test', 'row1', 'cf:a', 'value1'
Took 0.1306 seconds
hbase:004:0> put 'test', 'row2', 'cf:b', 'value2'
Took 0.0037 seconds
hbase:005:0> put 'test', 'row3', 'cf:c', 'value3'
Took 0.0018 seconds
hbase:006:0> put 'test', 'row4', 'cf:d', 'value4'
Took 0.0021 seconds
hbase:007:0> scan 'test'
ROW  COLUMN+CELL
 row1 column=cf:a, timestamp=2026-04-30T07:43:44.804, value=value1
 row2 column=cf:b, timestamp=2026-04-30T07:43:44.820, value=value2
 row3 column=cf:c, timestamp=2026-04-30T07:43:44.826, value=value3
 row4 column=cf:d, timestamp=2026-04-30T07:43:44.834, value=value4
4 row(s)
Took 0.0327 seconds
hbase:008:0> get 'test', 'row1'
COLUMN  CELL
 cf:a timestamp=2026-04-30T07:43:44.804, value=value1
1 row(s)
Took 0.0167 seconds
hbase:009:0> disable 'test'
Took 0.6600 seconds
hbase:010:0> enable 'test'
Took 0.6484 seconds
hbase:011: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: