Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

HBase: HBCK2 misses dependencies

Open
#1,575 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
azure, docker
Domain
devops

Research direction

Start from the hbck2 filesystem command in an HBase master terminal and inspect how the product image supplies runtime dependencies for ABFS. Use the listed HBASE_CLASSPATH workaround as a reference, then verify that hbck2 filesystem "my_table" completes against Azure Blob File System without manually exporting those jars.

Written by the indexing model from the issue text.

Description

customer-request type/bug
Symptom

Currently reproduced in 26.3.0, 25.11.0 HBase 2.6.4, 2.6.3 and 2.6.2 and possibly in previous versions (unknown) if you have HBase backed by ABFS (Azure Blob File System) and you try in the HBase master to

hbck2 filesystem "my_table"

you end up with

stackable@hbase-master-default-0 /stackable/hbase-2.6.3-stackable25.11.0 $ hbck2 filesystem "my_table"
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/stackable/hbase-2.6.3-stackable25.11.0/lib/client-facing-thirdparty/log4j-slf4j-impl-2.17.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/stackable/hbase-operator-tools-1.3.0-fd5a5fb-hbase2.6.3-stackable25.11.0/hbase-hbck2/hbase-hbck2-1.3.0-fd5a5fb-stackable25.11.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
2026-07-09T12:53:34,853 WARN  [main {}] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2026-07-09T12:53:35,636 WARN  [main {}] client.ZKConnectionRegistry: ZKConnectionRegistry is deprecated. See https://hbase.apache.org/book.html#client.rpcconnectionregistry
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.azurebfs.AzureBlobFileSystem not found
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2737)
	at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:3569)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3612)
	at org.apache.hadoop.fs.FileSystem.access$300(FileSystem.java:172)
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:3716)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:3667)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:557)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:289)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:541)
	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:366)
	at org.apache.hadoop.hbase.util.CommonFSUtils.getRootDir(CommonFSUtils.java:293)
	at org.apache.hbase.FileSystemFsck.<init>(FileSystemFsck.java:44)
	at org.apache.hbase.HBCK2.doCommandLine(HBCK2.java:1230)
	at org.apache.hbase.HBCK2.run(HBCK2.java:1136)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:82)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:97)
	at org.apache.hbase.HBCK2.main(HBCK2.java:1533)
Caused by: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.azurebfs.AzureBlobFileSystem not found
	at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2641)
	at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2735)
	... 16 more
Expectation

hbck2 should be able to perform operations from the terminal out of the box.

Workaround

It was necessary to

export HBASE_CLASSPATH=\
/stackable/hbase/lib/commons-lang3-3.18.0.jar:\
/stackable/hbase/lib/hadoop-azure-3.4.2-stackable26.3.0.jar:\
/stackable/hbase/lib/httpclient-4.5.14.jar:\
/stackable/hbase/lib/httpcore-4.4.16.jar:\
/stackable/hbase/lib/jackson-annotations-2.19.2.jar:\
/stackable/hbase/lib/jackson-core-2.19.2.jar:\
/stackable/hbase/lib/jackson-databind-2.19.2.jar:\
/stackable/hbase/lib/zookeeper-3.8.4.jar:\
/stackable/hbase/lib/hadoop-hdfs-client-3.4.2-stackable26.3.0.jar

in HBase master terminal. After this hbck2 completed operations without further errors.

Dominant language
Dockerfile
Stars
22
Forks
6
Avg merge
2d 47m
Merged PRs (30d)
27

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from stackabletech/docker-images

All issues in stackabletech/docker-images

Similar issues

More DevOps issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.