package HaUtil;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path;
public class HaUtil {
public static void confset(Configuration conf) {
Path[] paths=null;
try {
conf.set("fs.defaultFS", "hdfs://hh1:8020");
//必须写下面的代码必须还要存在一个遍历hdfs的一个目录,因为没有这个遍历不出现异常的,name就不会走catch语句了
FileSystem hdfs = FileSystem.get(conf);
//System.out.println("测试1");
//判断前天目录存在的话,且part文件的大小不是0的话吧a改成1
FileStatus[] fs = hdfs.listStatus(new Path("/cgi3/"));
paths = FileUtil.stat2Paths(fs);
//执行下面的打印长度,要是没有连接上hdfs,就会出现空指针异常,会跳转catch的。必须存在这个代码
System.out.println("测试1");
System.out.println(paths.length+"");
System.out.println("测试2");
} catch (Exception e) {
// try执行完成执行catch里面的语句(try连代码出现异常就执行catch里面的语句)
//上面出现异常说明没有连接成功,这个时候更换一下namenode的连接地址
conf.set("fs.defaultFS", "hdfs://hh:8020");
}
}
}