博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取FileSystem
阅读量:4958 次
发布时间:2019-06-12

本文共 2129 字,大约阅读时间需要 7 分钟。

/**     * 根据配置文件获取HDFS操作对象     * 有两种方法:     *  1.使用conf直接从本地获取配置文件创建HDFS对象     *  2.多用于本地没有hadoop系统,但是可以远程访问。使用给定的URI和用户名,访问远程的配置文件,然后创建HDFS对象。     * @return FileSystem     */	public FileSystem getHadoopFileSystem1() {        FileSystem fs = null;        Configuration conf = null;        // 方法一,本地有配置文件,直接获取配置文件(core-site.xml,hdfs-site.xml)        // 根据配置文件创建HDFS对象        // 此时必须指定hdsf的访问路径。        conf = new Configuration();        // 文件系统为必须设置的内容。其他配置参数可以自行设置,且优先级最高        conf.set("fs.defaultFS", "hdfs://huabingood01:9000");        try {            // 根据配置文件创建HDFS对象            fs = FileSystem.get(conf);        } catch (IOException e) {            e.printStackTrace();        }        return fs;    }	@Test	public FileSystem getHadoopFileSystem2() {		System.out.println("start...");        FileSystem fs = null;        Configuration conf = null;        // 方法二:本地没有hadoop系统,但是可以远程访问。根据给定的URI和用户名,访问hdfs的配置参数        // 此时的conf不需任何设置,只需读取远程的配置文件即可。        conf = new Configuration();        // Hadoop的用户名        String hdfsUserName = "root";        URI hdfsUri = null;        try {            // HDFS的访问路径            hdfsUri = new URI("hdfs://master:9000");        } catch (URISyntaxException e) {            e.printStackTrace();        }        try {            // 根据远程的NN节点,获取配置信息,创建HDFS对象            fs = FileSystem.get(hdfsUri,conf,hdfsUserName);        } catch (IOException e) {            e.printStackTrace();        } catch (InterruptedException e) {            e.printStackTrace();        }        return fs;    }    public FileSystem getHadoopFileSystem3() {        FileSystem fs = null;        Configuration conf = null;        // 方法三,反正我们没有搞懂。        conf  = new Configuration();        conf.addResource("/opt/huabingood/pseudoDistributeHadoop/hadoop-2.6.0-cdh5.10.0/etc/hadoop/core-site.xml");        conf.addResource("/opt/huabingood/pseudoDistributeHadoop/hadoop-2.6.0-cdh5.10.0/etc/hadoop/hdfs-site.xml");        try {            fs = FileSystem.get(conf);        } catch (IOException e) {            e.printStackTrace();        }        return fs;    }

  

转载于:https://www.cnblogs.com/guoziyi/p/10278929.html

你可能感兴趣的文章
Android项目的目录结构
查看>>
spring-cloud服务器雪崩效应
查看>>
C++中“引用”的底层实现
查看>>
ZOJ 1602. Multiplication Puzzle (DP)
查看>>
Spring Cloud分布式微服务云架构集成项目
查看>>
【Android学习专题】控件组件篇:Dialog汇总
查看>>
代码优化
查看>>
Dynamic Signals and Slots
查看>>
立法會五題:為自閉症兒童提供的支援服務 2012
查看>>
学习一下《JavaEE开发的颠覆者 Spring Boot实战 》
查看>>
virtualbox测试k8s要注意的情况
查看>>
JAVA WEB新进展
查看>>
对象Object合并
查看>>
哇,今天做到一个十分666的题目,最后居然化成了背包,而其中的证明真是太妙了!!!...
查看>>
经典算法学习之动态规划
查看>>
结对第二次-文章摘要热词统计
查看>>
spark安装和登陆配置
查看>>
Linux环境下Django App部署到XAMPP上
查看>>
SRM 594 DIV 2 - 2
查看>>
算法导论7.1-4习题解答(快速排序)
查看>>