hadoop版本 - fairscheduler-statedump.log(没有这样的文件或目录)

问题描述 投票:1回答:2

我试着在linux mint上安装hadoop-3.2.0。一切都很顺利。 java 11.0.2也像这样安装:

$ java -version
java version "11.0.2" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+7-LTS, mixed mode)

当我使用此命令hadoop version时,我收到此错误:

$ hadoop version
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /usr/local/hadoop-3.2.0/logs/fairscheduler-statedump.log (No such file or directory)
    at java.base/java.io.FileOutputStream.open0(Native Method)
    at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:158)
    at org.apache.log4j.FileAppender.setFile(FileAppender.java:294)
    at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207)
    at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165)
    at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307)
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172)
    at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104)
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:842)
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768)
    at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:672)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:516)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580)
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
    at org.slf4j.impl.Log4jLoggerFactory.<init>(Log4jLoggerFactory.java:66)
    at org.slf4j.impl.StaticLoggerBinder.<init>(StaticLoggerBinder.java:72)
    at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:45)
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
    at org.apache.hadoop.util.VersionInfo.<clinit>(VersionInfo.java:37)
Hadoop 3.2.0
Source code repository https://github.com/apache/hadoop.git -r e97acb3bd8f3befd27418996fa5d4b50bf2e17bf
Compiled by sunilg on 2019-01-08T06:08Z
Compiled with protoc 2.5.0
From source with checksum d3f0795ed0d9dc378e2c785d3668f39
This command was run using /usr/local/hadoop-3.2.0/share/hadoop/common/hadoop-common-3.2.0.jar

似乎hadoop已正确安装,但log4j出了问题。我可以请你帮我解决这个错误吗?

更新:我应该提到我尝试在hadoop-3.2.0之前安装一个版本意味着hadoop-3.1.2并且一切似乎都很好。所以我想这是与java v11.0.2和hadoop-3.2.0相关的问题。

hadoop linuxmint
2个回答
1
投票

我遇到了同样的问题因为我用root用户安装hadoop然后用hadoop用户运行hadoop命令。我只是通过更改hadoop目录的所有者和组来解决问题。

sudo chown -R hadoop:hadoop hadoop-3.2.0/

$ hadoop version

Hadoop 3.2.0
Source code repository https://github.com/apache/hadoop.git -r e97acb3bd8f3befd27418996fa5d4b50bf2e17bf

Compiled by sunilg on 2019-01-08T06:08Z

Compiled with protoc 2.5.0

From source with checksum d3f0795ed0d9dc378e2c785d3668f39
This command was run using /opt/hadoop-3.2.0/share/hadoop/common/hadoop-common-3.2.0.jar

0
投票

我也面临这个问题,但我认为这是由于不同的Java版本。我最初安装了JDK 11但改变了JDK 8,因为Hadoop 3.x在8之后不符合任何规定(https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions)。

但是,在更改为JDK 8之后,我仍然面临这个问题。提供的解决方案假设我们创建了一个Hadoop用户,但我没有权限在我的服务器(工作计算机)上创建另一个用户。

我应该将所有权更改为root吗?我确实有一些sudo权限。


-1
投票

我在/ usr / local / hadoop中创建日志目录并授予我的hadoop帐户权限。

/usr/local/hadoop$ sudo mkdir logs
/usr/local/hadoop$ sudo chown -R hadoop logs
© www.soinside.com 2019 - 2024. All rights reserved.