更新:这不是自制问题,我可以确认这一点,因为从apache源运行HBase时我得到完全相同的错误。
一直在努力让我的笔记本电脑上的HBase进行测试。基本上我使用以下命令在我的mac上安装HBase:
brew install hbase
但当我进入hbase shell并发出命令时,我收到此错误:
线程“main”中的异常java.lang.NoClassDefFoundError: 组织/阿帕奇/动物园管理员/ KeeperException
我试图安装zookeeper(brew install zookeeper
),但仍然没有运气。在阅读消息后,事实证明hbase有自己的类路径,并且需要包含在其中的zookeeper jar。我一直在努力解决这个问题,因为我使用eclipse并将所有jar放入构建路径中,我从未真正处理过命令行。我做了一个搜索,jar就在目录(/usr/local/Cellar/hbase//0.92.0/libexec/lib/zookeeper-3.4.2.jar
)中,但不知道如何添加它。
我一直在尝试export CLASSPATH=/usr/local/Cellar/hbase/0.92.0/libexec/lib/zookeeper-3.4.2.jar:$CLASSPATH
的每个变体(得到[这里] [1]的想法)我能想到但仍然没有运气,我一直都会遇到同样的错误。
我想知道我是否正确分配了类路径?或者如果HBase有自己的类路径分配?
答案 0 :(得分:6)
我在尝试启动hbase 0.94.1时遇到了同样的问题。
我通过编辑文件“/usr/local/hbase-0.94.1/conf/hbase-env.sh”并添加元素“export HBASE_CLASSPATH = / usr / local / hbase-0.94.1 / lib”来修复此问题。 ”
zookeeper JAR位于HBase安装位置“/usr/local/hbase-0.94.1/lib”。
答案 1 :(得分:0)
这对我不起作用。 我在github上创建了一个小的批量导入项目。 你可以在lib /文件夹zookeeper jar下找到它,以及其他用过的jar。 不确定不需要什么jar文件。
在Eclipse中添加jar文件:
Project/Properties/Add Jars../ go to libs folder and select all jars
答案 2 :(得分:0)
或者确保将HBASE_HOME添加到环境变量中(使用hbase文件夹的路径)。