java - HBase 0.92 独立于 Windows 与 Cygwin

标签 java cygwin hbase

有人知道如何在 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/

相关文章:

hadoop - 如何在HBase Shell中获取表中行的自定义计数

java - 由于内存泄漏导致tomcat崩溃

JavaFX并发任务设置状态

cygwin - 我正在尝试在cygwin中运行gedit,但收到错误

c - 报告显示使用 Eclipse CDT 的 gprof 为 "no time accumulated"

c - 在cygwin中编译linux C程序时遇到问题

hadoop - 客户端的Phoenix Installation给出异常?

java - 设置Hibernate中表的存储引擎

java - Firefox 驱动程序失败并出现无法访问的错误

java - Spring Boot - KeyCloak 指向 403 forbidden