启动Hbase:cygpath:无法转换空路径

Osy*_*Osy 5 cygwin hbase

我希望有人可以帮助我解决这个问题:

启动hbase,出现此错误:

$ ./start-hbase.sh
cygpath: can't convert empty path
cygpath: can't convert empty path
soporte@localhost's password:
localhost: starting zookeeper, logging to /usr/local/hbase-0.90.4/bin/../logs/hbase-CNEOSYLAP-zookeeper-CNEOSYLAP.out
localhost: cygpath: can't convert empty path
starting master, logging to /usr/local/hbase-0.90.4/bin/../logs/hbase-CNEOSYLAP-master-CNEOSYLAP.out
cygpath: can't convert empty path
soporte@localhost's password:
localhost: starting regionserver, logging to /usr/local/hbase-0.90.4/bin/../logs/hbase-CNEOSYLAP-regionserver-CNEOSYLAP.out
localhost: cygpath: can't convert empty path
Run Code Online (Sandbox Code Playgroud)

此错误仅在hbase-0.90.4和hbase-0.90.6中发生,而在hbase-0.94.9中不发生。我正在使用Windows 7 x64和CygWin安装2.774。

注意1:我遵循的是在Windows上此处安装HBase的说明。 注意2:对我来说设置hbase-0.90.X非常重要,因为以后我将使用Nutch 2.2.1

谢谢

Tar*_*riq 2

也许在通过 cygpath 将 unix 样式路径转换为 ​​windows 样式路径时出现一些问题,或者路径实际上是空的。请记住,cygpath 是一个 cygwin 实用程序,它将 unix 样式文件路径转换为 ​​windows 样式文件路径,反之亦然。我个人并不完全相信这一点。因此,请确保您没有遇到这些问题。为了顺利运作,我想建议几件事:

  • 根据您的环境 修改hbase-env.sh文件中的# export HBASE_CLASSPATH=行: export HBASE_CLASSPATH=/cygdrive/c/programs/hbase-0.90.4/lib/
  • hbse-site.xml 中的属性hbase.rootdir与您的 cygwin 环境有关:类似于file:///C:/cygwin/root/tmp/hbase/data

不知怎的,我觉得在Windows上使用Hadoop/HBase总是很痛苦。你可以通过给自己买一个 Linux 机器(如果可能的话)或者使用一些虚拟机来避免这些问题。

华泰

PS:你的Hadoop运行正常吗(如果有的话)?

编辑 :

在hbase-0.90.4/bin目录下的hbase文件中添加以下行(如果不存在):

# cygwin path translation
if $cygwin; then
  CLASSPATH=`cygpath -p -w "$CLASSPATH"`
  HBASE_HOME=`cygpath -d "$HBASE_HOME"`
  HBASE_LOG_DIR=`cygpath -d "$HBASE_LOG_DIR"`
Run Code Online (Sandbox Code Playgroud)

我现在没有旧版本,以便我可以交叉检查。