hadoop HA




import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class HDFS_HA {

 
 public static void main(String[] args) throws Exception {
  Configuration conf = new Configuration();
  conf.set("fs.defaultFS", "hdfs://ns1");
  conf.set("dfs.nameservices", "ns1");
  conf.set("dfs.ha.namenodes.ns1", "nn1,nn2");
  conf.set("dfs.namenode.rpc-address.ns1.nn1", "itcast01:9000");
  conf.set("dfs.namenode.rpc-address.ns1.nn2", "itcast02:9000");
  //conf.setBoolean(name, value);
  conf.set("dfs.client.failover.proxy.provider.ns1", "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider");
  FileSystem fs = FileSystem.get(new URI("hdfs://ns1"), conf, "hadoop");
  InputStream in =new FileInputStream("c://eclipse.rar");
  OutputStream out = fs.create(new Path("/eclipse"));
  IOUtils.copyBytes(in, out, 4096, true);
 }
}

注意:hdfs://ns1运行时,程序中没有配置文件,所以需要在conf中配置参数,否则程序会报错因为找不到ns1对应的文件系统,或者将*-site.xml文件加入classpath路径下。

posted @ 2016-04-17 15:11  Runny_Hao  阅读(188)  评论(0)    收藏  举报