有什么方法可以在Windows环境中从虚拟机的hdfs系统打开文件吗?



也许我的问题有点愚蠢,但我想访问主机Windows环境中的hdfs文件,特别是在eclipse中。Hadoop和所有相关的东西都安装在VirtualBox上(使用Hortonworks Sandbox env.With Centos OS)。在虚拟机上,我可以毫无问题地使用hdfs,尝试访问hdfs://192.168.56.101:8020/user/root/vectors/dictionary.file-0。尝试在eclipse上访问此内容,但遇到异常。

那么,有什么办法可以做到吗?如果可能的话,举个例子就太好了。

问题的主要原因是系统不知道我是谁。我需要一个hadoop的客户端,所以通过在pom:中添加客户端依赖关系来解决这个问题

    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>2.2.0</version>
    </dependency>

下面是一个工作示例:

public static void main(String[] args) throws Exception {
    try {
        Configuration conf = new Configuration();
        conf.set("fs.default.name", "hdfs://192.168.56.101:8020");
        FileSystem fs = FileSystem.get(conf);
        Path pt = new Path("/user/root/vectors/dictionary.file-0");
        BufferedReader br = new BufferedReader(new InputStreamReader(fs.open(pt)));
        try {
            String line;
            line = br.readLine();
            while (line != null) {
                System.out.println(line);
                line = br.readLine();
            }
        } finally {
            br.close();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

相关内容

  • 没有找到相关文章

最新更新