简体   繁体   English

Java Hadoop 不完整 HDFS URI,无主机

[英]Java Hadoop Incomplete HDFS URI, no host

I am trying to access hdfs from java app, but I got the error Incomplete HDFS URI, no host .我正在尝试从 java 应用程序访问 hdfs ,但出现错误Incomplete HDFS URI, no host

Here is my core-site.xml这是我的core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://localhost:9000</value>
        </property>
</configuration>

And here is my java code:这是我的 java 代码:

class AppTest {

    private static final String HDFS_PATH = "hdfs:localhost:9000";
    private static final String HDFS_USER = "hadoop";
    private static FileSystem fileSystem;
    @BeforeAll
    public static void prepare()
    {
        try {
            Configuration configuration = new Configuration();
            configuration.set("dfs.replication", "1");
            fileSystem = FileSystem.get(new URI(HDFS_PATH), configuration, HDFS_USER);
        } catch (IOException e) {
            e.printStackTrace();
        } catch(InterruptedException e){
            e.printStackTrace();
        } catch(URISyntaxException e){
            e.printStackTrace();
        }
    }
    @Test
    public void mkDir() throws Exception{
        fileSystem.mkdirs(new Path("/hdfs-api/test/"));
    }
    @AfterAll
    public static void destroy(){
        fileSystem = null;
    }
}

It always throw below error它总是抛出错误

java.io.IOException: Incomplete HDFS URI, no host: hdfs:localhost:9000

use netstat -tlpn |使用netstat -tlpn | grep 9000 to check if the port is up grep 9000检查端口是否启动

replace 127.0.0.1 with nodes real ip address, example: hdfs://192.168.10.1:9000将 127.0.0.1 替换为节点真实 ip 地址,例如: hdfs://192.168.10.1:9000

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM