java hdfs ha_Java实现HadoopHA集群的hdfs控制

packagecom.hdfs.demo;importorg.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;importorg.apache.hadoop.fs.FileStatus;importorg.apache.hadoop.fs.FileSystem;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IOUtils;importjava.io.IOException;importjava.net.URI;importjava.net.URISyntaxException;importjava.util.Iterator;importjava.util.Map;importjava.util.Set;/***@author王传礼*/

public classHdfsDemo {/*** 根据配置获取HDFS文件操作系统

*

*@returnFileSystem*/

public staticFileSystem getHadoopFileSystem() {

FileSystem fs= null;

Configuration conf= null;//方法:本地没有hadoop系统,但可以远程访问。根据给定的URI和用户名,访问hdfs的配置参数

conf = newConfiguration();//Hadoop的用户名

String hdfsUserNmae = "root";

URI hdfsUri= null;try{

hdfsUri= new URI("hdfs://192.168.182.135:8020");//HDFS的访问路径

} catch(URISyntaxException e) {

e.printStackTrace();

}try{//根据远程的NN节点,获取配置信息,创建HDFS对象

fs =FileSystem.get(hdfsUri, conf, hdfsUserNmae);

}catch(IOException e) {

e.printStackTrace();

}catch(InterruptedException e) {

e.printStackTrace();

}returnfs;

}/*** 这里的创建文件夹同shell中的mkdir -p 语序前面的文件夹不存在

* 跟java中的IO操作一样,也只能对path对象做操作;但是这里的Path对象是hdfs中的

*

*@paramfs,filepath

*@return

*/

public static booleanmyCreatePath(FileSystem fs,String filepath) {boolean b = false;

Path path= newPath(filepath);try{//even the path exist,it can also create the path.

b =fs.mkdirs(path);

}catch(IOException e) {

e.printStackTrace();

}final

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值