执行 ./bin/start-hbase.sh (windows) 时发生 Hbase 错误

Hbase error while executing ./bin/start-hbase.sh (windows)

我使用本教程 https://www.youtube.com/watch?v=g7Qpnmi0Q-s 安装了 Hadoop,它可以正常工作。我安装在C:/hadoop。

我安装它只是因为我读到hadoop是执行的先决条件(没有单一模式)并且错误消息是关于一些hadoop配置的。但它没有帮助。

我尝试使用本教程安装 Hbase https://ics.upjs.sk/~novotnyr/blog/334/setting-up-hbase-on-windows。但是我在执行 ./bin/start-hbase.sh

时遇到了这个错误

cygwin 终端输出:

$ ./bin/start-hbase.sh
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further detail
s.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further detail
s.
: Name or service not knownstname laptop-l6543teb
running master, logging to /cygdrive/c/java/hbase-2.2.4-bin/hbase-2.2.4//logs/hbase-maiwa-master-LAPTOP-L6543TEB.out
: running regionserver, logging to /cygdrive/c/java/hbase-2.2.4-bin/hbase-2.2.4//logs/hbase-maiwa-regionserver-LAPTOP-L6543TEB.out

hbase-site-xml

<configuration>
    <property>
        <name>hbase.rootdir</name>
        <value>file:///C:/cygwin/root/tmp/hbase/data</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>C:\Java\hbase-2.2.4-bin\hbase-2.2.4\logs</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>false</value>
    </property>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://localhost:9000/hbase</value>
    </property>
</configuration>

环境变量:

路径变量:

start-hbase.sh 产生的错误输出有三个不同的错误。

1. HADOOP_HOME 变量问题

WARNING: DEFAULT_LIBEXEC_DIR ignored. It has been replaced by HADOOP_DEFAULT_LIBEXEC_DIR. WARNING: log4j.properties is not found. HADOOP_CONF_DIR may be incomplete. 
ERROR: Invalid HADOOP_COMMON_HOME

使用指向 Hadoop 安装文件夹(而不是安装文件夹中的 bin 文件夹)的 HADOOP_HOME 更新环境变量。

根据您的设置,

HADOOP_HOME=C:\hadoop\

此外,设置配置文件的位置

HADOOP_CONF_DIR=C:\hadoop\etc\hadoop\

2. 解释 Linux 样式路径或无效路径时出现问题

cygpath: can't convert empty path

hbase-env.sh 中(在 C:\Java\hbase-2.2.4-bin\hbase-2.2.4\conf\ 下),更新 HBASE_HOMEHBASE_CLASSPATH

的值

根据您的安装,

export HBASE_HOME=/cygdrive/c/Java/hbase-2.2.4-bin/hbase-2.2.4/
export HBASE_CLASSPATH=/cygdrive/c/Java/hbase-2.2.4-bin/hbase-2.2.4/lib/

并且在您的环境变量中,确保 HBASE_HOME 的配置类似于 HADOOP_HOME

3. 无法解析主机名

: Name or service not knownstname laptop-l6543teb

使用正确的 IP - 主机名映射更新您的 hosts 文件。