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

Building HBase

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

  • RHEL (8.10, 9.6, 9.7, 9.8, 10.0, 10.1, 10.2)
  • SLES (15 SP7, 16)
  • Ubuntu (22.04, 24.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.6, 9.7, 9.8, 10.0, 10.1, 10.2)
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)
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 17) on all above mentioned distribution from here.
  • With OpenJDK

    • RHEL (8.10, 9.6, 9.7, 9.8)
      sudo yum install -y java-17-openjdk-devel
      
    • SLES 15 SP7, 16
      sudo zypper install -y java-17-openjdk-devel
      
    • Ubuntu (22.04, 24.04)
      sudo  apt-get -y install openjdk-17-jdk
      

1.3. Download the HBase binary

cd $SOURCE_ROOT
wget https://archive.apache.org/dist/hbase/3.0.0/hbase-3.0.0-bin.tar.gz
tar zxf hbase-3.0.0-bin.tar.gz
export PATH=$SOURCE_ROOT/hbase-3.0.0/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-3.0.0/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 3.0.0, rda418afa6973bf4222231c1d233410d8c18ac7ec, Wed Sep  2 05:23:03 UTC 2026

In hbase shell console, type in the following commands:

Version 3.0.0, rda418afa6973bf4222231c1d233410d8c18ac7ec, Wed Sep  2 05:23:03 UTC 2026
Took 0.0102 seconds
hbase:001:0> create 'test', 'cf'
Created table test
Took 5.5673 seconds
=> Hbase::Table - test
hbase:002:0> list 'test'
TABLE
test
1 row(s)
Took 0.1397 seconds
=> ["test"]
hbase:003:0> put 'test', 'row1', 'cf:a', 'value1'
Took 1.0692 seconds
hbase:004:0> put 'test', 'row2', 'cf:b', 'value2'
Took 0.0248 seconds
hbase:005:0> put 'test', 'row3', 'cf:c', 'value3'
Took 0.0343 seconds
hbase:006:0> put 'test', 'row4', 'cf:d', 'value4'
Took 0.0297 seconds
hbase:007:0> scan 'test'
ROW  COLUMN+CELL
 row1 column=cf:a, timestamp=2026-09-02T06:55:49.727, value=value1
 row2 column=cf:b, timestamp=2026-09-02T06:56:07.953, value=value2
 row3 column=cf:c, timestamp=2026-09-02T06:56:22.462, value=value3
 row4 column=cf:d, timestamp=2026-09-02T06:56:43.043, value=value4
4 row(s)
Took 0.1604 seconds
hbase:008:0> get 'test', 'row1'
COLUMN  CELL
 cf:a timestamp=2026-09-02T06:55:49.727, value=value1
1 row(s)
Took 0.1383 seconds
hbase:009:0> disable 'test'
Took 2.5062 seconds
hbase:010:0> enable 'test'
Took 1.4491 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: