Lry722 的个人博客
237 字
1 分钟
HBase 部署踩坑
2024-06-09

这两天开始做大数据挖掘实务课程的课设,课程要求使用 HBase 储存爬取的数据,因此今天在折腾 HBase 的部署。

HBase 部署流程和 HDFS 基本差不多,很快就搞定了相关配置,结果却死活启动不起来 HMaster 节点,一直卡在初始化 ServerManager。

找了半天原因,翻日志发现有如下报错:

Unexpected error caught when processing netty
java.lang.IllegalArgumentException: object is not an instance of declaring class
...

故怀疑是依赖的 jar 包产生冲突,搜索后得知 HBase 和 Hadoop 本身依赖的 jar 包确实会发生冲突,需要在 hbase-env 将以下内容取消注释:

export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"

以此在 HBase 启动时屏蔽来自 Hadoop 的 jar 包,之后就启动成功了。

但说实话,我不是很明白这个选项为什么默认是关闭的。正常来说也不会为了节省这几十 MB 的空间共享 jar 包吧?

HBase 部署踩坑
https://lry722.github.io/posts/hbase-部署踩坑/
作者
Lry722
发布于
2024-06-09
许可协议
CC BY-NC-SA 4.0