溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Hadoop學(xué)習(xí)--通過(guò)配置文件修改文件副本數(shù)塊大小--day04

發(fā)布時(shí)間:2020-08-06 00:08:01 來(lái)源:網(wǎng)絡(luò) 閱讀:2886 作者:zhicx 欄目:大數(shù)據(jù)

import java.io.ByteArrayOutputStream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.net.URL;


import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.FSDataInputStream;

import org.apache.hadoop.fs.FSDataOutputStream;

import org.apache.hadoop.fs.FileSystem;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

import org.junit.Test;


public class replication {


/**

* 通過(guò)API實(shí)現(xiàn)自定義文件的副本數(shù)

* 最后測(cè)試的時(shí)候修改集群hdfs.site.xml中dfs.namenode.fs-limits.min-block-size的值為10K

* 注意修改集群的配置文件后手動(dòng)的刷新nodes的命令并不能讓文件生效,需要重新啟動(dòng)集群

* 最后通過(guò)webui hadoop01:50070來(lái)查看

*/

@Test

public void customReplicationNum() throws Exception {

//創(chuàng)建configuration對(duì)象,有個(gè)默認(rèn)的加載順序,先從core-default.xml,再到src目錄中的文件,這里

//我們給定了

        Configuration conf = new Configuration();

        //修改當(dāng)前文件的副本數(shù)量

        conf.set("dfs.replication", "4");

        //修改當(dāng)前文件的塊大小

        conf.set("dfs.blocksize", "20480");

        //修改namenode的blcoksize的下限,需要修改集群的配置,這里設(shè)置是有問(wèn)題的

//        conf.set("dfs.namenode.fs-limits.min-block-size", "1024*10");

//通過(guò)conf的configuration對(duì)象創(chuàng)建了該分布式文件系統(tǒng)fs,默認(rèn)如果不指定文件的話為本地文件系統(tǒng)

        FileSystem fs = FileSystem.get(conf);

        //定義一個(gè)URL的字符串

        String file = "hdfs://hadoop01:9000/user/hadoop/data2/kala-copy.jpg";

        //通過(guò)一個(gè)URL的字符串構(gòu)建一個(gè)path對(duì)象

        Path path = new Path(file);

        FSDataOutputStream out = fs.create(path);

        IOUtils.copyBytes(new FileInputStream("E:/zhaopian.jpg"), out, 1024);

        out.close();

   }

}


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI