有人知道如何在 Cygwin 下的 Windows 上运行 HBase 的教程吗?
我设法设置了所有内容,例如使用 SSH 自动登录的 key ,但我仍然遇到以下错误消息:
localhost: +======================================================================+
localhost: | Error: JAVA_HOME is not set and Java could not be found |
localhost: +----------------------------------------------------------------------+
localhost: | Please download the latest Sun JDK from the Sun Java web site |
localhost: | > http://java.sun.com/javase/downloads/ < |
localhost: | |
localhost: | HBase requires Java 1.6 or later. |
localhost: | NOTE: This script will find Sun Java whether you install using the |
localhost: | binary or the RPM based installer. |
localhost: +======================================================================+
...
java.lang.NoClassDefFoundError: org/apache/zookeeper/KeeperException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.KeeperException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
我已经将 .bash_profile 设置为指向:
export JAVA_HOME='/usr/lib/jre1.6.1'
这是真正jre上的符号链接(symbolic link)
/usr/lib/jre1.6.1 -> /cygdrive/c/Java/jre7/
最佳答案
我遇到了同样的问题,发现如下: Cygwin 使用“:”作为路径分隔符。 但是创建 CLASS_PATH 的脚本无法正常工作。最终的 CLASS_PATH 看起来像 “...:zookeeper.jar:”以“:”结尾。在运行将 CLASS_PATH 转换为 Windows 样式的 java 脚本之前。但最后带有“:”!
所以我的解决方案是:在 hbase/lib 下创建一个空文件“zzz.jar”。 zzz.jar 将位于 CLASS_PATH 的最后,zookeeper.jar 将正确添加到 CLASS_PATH。
我知道修复脚本更好,但我在乎 :) 我只需要 2 天的 HBase,所以它可以工作,我很高兴:)
关于java - HBase 0.92 独立于 Windows 与 Cygwin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10936924/