您可以在终端键入此命令以单独设置文件的复制因子。
hadoop fs -D dfs.replication=3 -copyFromLocal file.txt /user/myFolder
至于将由 hadoop 本身处理的复制不足,您会观察到复制不足的块的数量不断变化。
对于用于编写具有复制因子的文件的 JAVA API,请参阅以下代码:
public class Write{
public static void main(String[] args) throws IOException {
Path pt = new Path("hdfspath:/user/abc");
FileSystem fs = FileSystem.get(new Configuration());
BufferedWriter br = new BufferedWriter(new OutputStreamWriter(
fs.create(pt, true)));
// TO append data to a file, use fs.append(Path f)
fs.setReplication(new Path("hdfspath:/user/abc"), (short)3);
String line;
line = "This is Written to the File";
System.out.println(line);
br.write(line);
br.close();
}
}
请检查语法,因为我刚刚在这里输入了代码。