java - Hadoop 的命令 start-dfs.sh 显示一个奇怪的错误

标签 java macos hadoop hdfs

当我尝试运行下面的命令时,弹出一个错误

Alis-Mac:hadoop-2.7.3 naziaimran$ sbin/start-dfs.sh

错误如下,

2018-06-05 01:04:31.424 java[1879:21215] Unable to load realm info from SCDynamicStore
18/06/05 01:04:31 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [localhost]
localhost: starting namenode, logging to /Users/naziaimran/Desktop/hadoop-2.7.3/logs/hadoop-naziaimran-namenode-Alis-Mac.out
localhost: Exception in thread "main" java.lang.ExceptionInInitializerError
localhost:  at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:80)
localhost:  at org.apache.hadoop.hdfs.server.common.HdfsServerConstants$RollingUpgradeStartupOption.getAllOptionString(HdfsServerConstants.java:80)
localhost:  at org.apache.hadoop.hdfs.server.namenode.NameNode.<clinit>(NameNode.java:249)
localhost: Caused by: java.lang.StringIndexOutOfBoundsException: begin 0, end 3, length 2
localhost:  at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3107)
localhost:  at java.base/java.lang.String.substring(String.java:1873)
localhost:  at org.apache.hadoop.util.Shell.<clinit>(Shell.java:51)
localhost:  ... 3 more
localhost: starting datanode, logging to /Users/naziaimran/Desktop/hadoop-2.7.3/logs/hadoop-naziaimran-datanode-Alis-Mac.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /Users/naziaimran/Desktop/hadoop-2.7.3/logs/hadoop-naziaimran-secondarynamenode-Alis-Mac.out
0.0.0.0: Exception in thread "main" java.lang.ExceptionInInitializerError
0.0.0.0:    at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:80)
0.0.0.0:    at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:667)
0.0.0.0: Caused by: java.lang.StringIndexOutOfBoundsException: begin 0, end 3, length 2
0.0.0.0:    at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3107)
0.0.0.0:    at java.base/java.lang.String.substring(String.java:1873)
0.0.0.0:    at org.apache.hadoop.util.Shell.<clinit>(Shell.java:51)
0.0.0.0:    ... 2 more
2018-06-05 01:04:48.170 java[2203:22211] Unable to load realm info from SCDynamicStore
18/06/05 01:04:48 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

我被困在这里好几天了,非常感谢任何帮助。 提前致谢:)

最佳答案

问题是 Hadoop 2.7 与 Java 9/10 不兼容。 我遇到了同样的问题并通过降级到 Java 8 解决了这个问题。

如果您不确定如何降级并使其正常工作,请在此处查看 VK321 的回答: https://stackoverflow.com/a/48422257/5181904

关于java - Hadoop 的命令 start-dfs.sh 显示一个奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50688243/

相关文章:

hadoop - map 减少烟雾测试的错误

java - 使用套接字交换字符串和二进制数据而不关闭它

java.util.Vector 无法转换为 java.util.ArrayList

macos - 尝试在 OSX 上构建 iniparser 时出现 "ld: unknown option: -Bsymbolic"

ios - iOS 静态库是否可以包含可以由使用该库的 iOS 代码使用/实现的类/接口(interface)?

image - 将图像存储在 HBASE 中以供处理和快速访问

java - 将 Dataset<Row> 中的值获取到 .txt 文件中(使用 Java)

java - 从文本文件计算成绩

objective-c - 我可以为 NSFileHandleReadCompletionNotification 使用较小的缓冲区吗?

hadoop - UIMA DUCC 与 Hadoop 上的 UIMA