Hadoop 提供一个模拟HDFS小集群的依赖:
Pom.xml:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-minicluster</artifactId>
<version>${hadoop.version}</version>
</dependency>
此处的version最好和你配置的hadoop core和client的保持一致!M
可以使用一些方法来解析模拟hdfs的原生文件处理逻辑:
protected MiniDFSCluster(MiniDFSCluster.Builder builder) throws IOException {
this.dataNodes = new ArrayList();
this.waitSafeMode = true;
this.checkExitOnShutdown = true;
if (builder.nnTopology == null) {
builder.nnTopology = MiniDFSNNTopology.simpleSingleNN(builder.nameNodePort, builder.nameNodeHttpPort);
}
不过MiniMRCluster deprecated, 我们可以用MiniMRYarnCluster 和MiniMRClientCluster 来替换。
模拟的方式是相似的。