-
Notifications
You must be signed in to change notification settings - Fork 56
Building HBase
The instructions provided below specify the steps to build HBase version 2.6.1 on Linux on IBM Z for following distributions:
- RHEL (8.8, 8.10, 9.2, 9.4, 9.5)
- SLES (15 SP6)
- Ubuntu (20.04, 22.04, 24.04, 24.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.
export SOURCE_ROOT=/<source_root>/
- RHEL (8.8, 8.10, 9.2, 9.4, 9.5)
sudo yum install -y git wget tar make gcc ant hostname curl java-1.8.0-openjdk-devel
- SLES (15 SP6)
sudo zypper install -y git wget tar make gcc ant gawk gzip hostname curl java-1_8_0-openjdk-devel
- Ubuntu (20.04, 22.04, 24.04, 24.10)
sudo apt update
sudo apt-get install -y git wget tar make gcc libjffi-jni hostname curl
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/s390x-linux-gnu/jni/
-
With Eclipse Adoptium Temurin Runtime (previously known as AdoptOpenJDK hotspot)
- Download and install Eclipse Adoptium Temurin Runtime (Java 11 or 17) from here.
-
With OpenJDK
-
RHEL (8.8, 8.10, 9.2, 9.4, 9.5)
- 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 (20.04, 22.04, 24.04, 24.10)
- 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
-
Note: HBase needs a native library (libjffi-1.2.so: java foreign language interface). Build with java 8!
cd $SOURCE_ROOT
wget https://github.com/jnr/jffi/archive/jffi-1.2.23.tar.gz
tar -xzvf jffi-1.2.23.tar.gz
cd jffi-jffi-1.2.23
ant
export LD_LIBRARY_PATH=${SOURCE_ROOT}/jffi-jffi-1.2.23/build/jni/${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
cd $SOURCE_ROOT
wget https://archive.apache.org/dist/hbase/2.6.1/hbase-2.6.1-bin.tar.gz
tar zxf hbase-2.6.1-bin.tar.gz
export PATH=$SOURCE_ROOT/hbase-2.6.1/bin:$PATH
export JAVA_HOME=<path to Java installation directory>
export PATH=$JAVA_HOME/bin:$PATH
Use the following commands to run HBase server:
cd hbase-2.6.1/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.1, r7ed50b4dd742269a78875fb32112215f831284ff, Wed Oct 9 10:33:23 UTC 2024
In hbase shell
console, type in the following commands:
hbase:001:0> create 'test', 'cf'
Created table test
Took 0.9315 seconds
=> Hbase::Table - test
hbase:002:0> list 'test'
TABLE
test
1 row(s)
Took 0.0197 seconds
=> ["test"]
hbase:003:0> put 'test', 'row1', 'cf:a', 'value1'
Took 0.0970 seconds
hbase:004:0> put 'test', 'row2', 'cf:b', 'value2'
Took 0.0035 seconds
hbase:005:0> put 'test', 'row3', 'cf:c', 'value3'
Took 0.0046 seconds
hbase:006:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=2024-06-05T19:42:06.205, value=value1
row2 column=cf:b, timestamp=2024-06-05T19:42:09.890, value=value2
row3 column=cf:c, timestamp=2024-06-05T19:42:14.556, value=value3
3 row(s)
Took 0.0195 seconds
hbase:007:0> get 'test', 'row1'
COLUMN CELL
cf:a timestamp=2024-06-05T19:42:06.205, value=value1
1 row(s)
Took 0.0180 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
The information provided in this article is accurate at the time of writing, but on-going development in the open-source projects involved may make the information incorrect or obsolete. Please open issue or contact us on IBM Z Community if you have any questions or feedback.