如何解决运行 start-hbase.sh
Ubuntu 18, Hadoop 3.2.2, Hbase 2.3.5
每当我运行 start-hbase.sh 时,我基本上都会得到四次相同的错误,并伴随着“没有这样的文件或目录”。
"echo $JAVA_HOME" 返回 /usr/lib/jvm/java-8-openjdk-amd64
这是我运行 start-hbase.sh 时的输出:
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
/usr/local/HBase/bin/hbase: line 774: /usr/lib/jvm/java-8-oracle/bin/java: No such file or directory
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
/usr/local/HBase/bin/hbase: line 774: /usr/lib/jvm/java-8-oracle/bin/java: No such file or directory
running master,logging to /usr/local/HBase/logs/hbase-hdoop-master-ip-172-31-94-192.out
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
/usr/local/HBase/bin/hbase: line 774: /usr/lib/jvm/java-8-oracle/bin/java: No such file or directory
: running regionserver,logging to /usr/local/HBase/logs/hbase-hdoop-regionserver-ip-172-31-94-192.out
: /home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
: /home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
: /usr/local/HBase/bin/hbase: line 774: /usr/lib/jvm/java-8-oracle/bin/java: No such file or directory
我的 usr/lib/jvm 文件夹只包含两个文件夹:“java-1.8.0-openjdk-amd64”和“java-8-openjdk-amd64”
因此,HBase 似乎在为我的 Java 安装寻找错误的位置。问题是如何修复它。
编辑:通过更改我的 conf/hbase-env.sh 文件的第 27 行以反映实际存在的 java 安装,似乎至少部分修复了。 start-hbase.sh 的新输出是:
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hdoop/hadoop-3.2.2/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/HBase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hdoop/hadoop-3.2.2/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/HBase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:jORVdOxBjEd2a//ba31/nylS4h7lymIa4jf03dXMcS0.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
127.0.0.1: Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.
127.0.0.1: running zookeeper,logging to /usr/local/HBase/bin/../logs/hbase-hdoop-zookeeper-ip-172-31-94-192.out
running master,logging to /usr/local/HBase/logs/hbase-hdoop-master-ip-172-31-94-192.out
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
/home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
: running regionserver,logging to /usr/local/HBase/logs/hbase-hdoop-regionserver-ip-172-31-94-192.out
: /home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2366: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_USER: bad substitution
: /home/hdoop/hadoop-3.2.2/libexec/hadoop-functions.sh: line 2461: HADOOP_ORG.APACHE.HADOOP.HBASE.UTIL.GETJAVAPROPERTY_OPTS: bad substitution
因此,zookeeper、master 和 regionserver 似乎都在运行,尽管仍然会弹出错误的替换消息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。