我试过这样的Maven回购:

    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-common</artifactId>
        <version>2.7.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-yarn-api -->
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-api</artifactId>
        <version>2.7.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-yarn-client -->
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-client</artifactId>
        <version>2.7.2</version>
    </dependency>

然后我的java代码:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.yarn.api.ApplicationConstants;
import org.apache.hadoop.yarn.api.records.*;
import org.apache.hadoop.yarn.client.api.YarnClient;
import org.apache.hadoop.yarn.client.api.YarnClientApplication;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
import org.apache.hadoop.yarn.exceptions.YarnException;

public static void main(String[] args) {
    YarnConfiguration yarnConfiguration = new YarnConfiguration();
    YarnClient yarnClient = YarnClient.createYarnClient();
    yarnClient.init(yarnConfiguration);
    yarnClient.start();
}

Intellijide将显示“无法解决方法初始化”和“无法解决方法开始”。

然后,我尝试使用3.1.1的jar版本而不是“2.7.2”。结果相同。那么我的代码有什么问题以及如何解决?

最佳答案

init和start方法是从AbstractService类派生的。
您需要验证YarnClient和AbstractService具有相同版本。

转到YarnClient并检查它引用的jar,然后从Yarn客户端单击AbstractService父级并检查其版本。

根据您的AbstractService版本更改YarnClient版本。

我有同样的问题,对我有用。版本2.6.5。

10-02 11:06