码迷,mamicode.com
首页 > 其他好文 > 详细

HDFS 开发中的文件配置优先级

时间:2019-04-14 13:58:41      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:客户端   1.0   对象   cal   总结   客户   ext   replica   tco   

一、先看集群上的配置,这里设置了文件块副本数为 3

技术图片

上传一个文件试试

public class ConfigPriority {
    private Configuration conf;
    private FileSystem fs;

    @Before
    public void init() throws Exception {
        // 设置 HADOOP_HOME 环境变量
        System.setProperty("hadoop.home.dir", "D:/DevelopTools/hadoop-2.9.2/");
        // 日志初始化
        BasicConfigurator.configure();

        conf = new Configuration();
        // 获取 hdfs 客户端对象,指定用户名,避免无权限
        fs = FileSystem.get(new URI("hdfs://192.168.8.136:9000"), conf, "root");
    }

    @After
    public void close() throws IOException {
        fs.close();
    }

    // 文件上传
    @Test
    public void testCopyFromLocalFile() throws Exception{
        fs.copyFromLocalFile(new Path("D://MyFile/Downloads/Writage-1.12.msi"), new Path("/Priority/AAA.msi"));
    }
}

技术图片

 

二、在资源目录添加 hdfs-site.xml 配置后再上传

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

技术图片

代码中的上传名字做下改变

技术图片

 

三、在代码中指定下配置参数

public class ConfigPriority {
    private Configuration conf;
    private FileSystem fs;

    @Before
    public void init() throws Exception {
        // 设置 HADOOP_HOME 环境变量
        System.setProperty("hadoop.home.dir", "D:/DevelopTools/hadoop-2.9.2/");
        // 日志初始化
        BasicConfigurator.configure();

        conf = new Configuration();
        conf.set("dfs.replication","2");
        // 获取 hdfs 客户端对象,指定用户名,避免无权限
        fs = FileSystem.get(new URI("hdfs://192.168.8.136:9000"), conf, "root");
    }

    @After
    public void close() throws IOException {
        fs.close();
    }

    // 文件上传
    @Test
    public void testCopyFromLocalFile() throws Exception{
        fs.copyFromLocalFile(new Path("D://MyFile/Downloads/Writage-1.12.msi"), new Path("/Priority/CCC.msi"));
    }
}

技术图片

 

总结:代码设置 > 工程资源目录配置 > 集群配置 > 默认配置

HDFS 开发中的文件配置优先级

标签:客户端   1.0   对象   cal   总结   客户   ext   replica   tco   

原文地址:https://www.cnblogs.com/jhxxb/p/10704806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!