HBase: HBCK2 misses dependencies
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 52/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- azure, docker
- Lĩnh vực
- devops
Hướng nghiên cứu
Bắt đầu với lệnh hbck2 filesystem trong một terminal HBase master và kiểm tra cách product image cung cấp các dependency runtime cho ABFS. Dùng workaround HBASE_CLASSPATH được liệt kê làm tham chiếu, sau đó xác minh rằng hbck2 filesystem "my_table" hoàn tất trên Azure Blob File System mà không cần export thủ công các jar đó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Dockerfile
- Star
- 22
- Fork
- 6
- Merge trung bình
- 1 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 30
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của stackabletech/docker-images
-
scheduled-for/26.11.0
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
stackabletech/docker-images#1657 ·
-
scheduled-for/26.11.0
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
stackabletech/docker-images#1655 ·
-
scheduled-for/26.11.0
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
stackabletech/docker-images#1654 · 1 người được giao ·
-
scheduled-for/26.11.0
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
stackabletech/docker-images#1653 · 1 người được giao ·
-
scheduled-for/26.11.0
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
stackabletech/docker-images#1652 ·
Tất cả issue của stackabletech/docker-images
Issue tương tự
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
HL7/fhir-ig-publisher#1375 ·
-
[quality] workflow-scripts guard reads test:unit:coverage as skipping the unit suite, blocking #632 Đang mởagent/quality hive/hosted-available-lke648397-260827-5n31 quality testing
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100