HDFS的高级特性
- HDFS上传文件和下载文件的过程
(1) 实现客户端来操作HDFS,包含的jar文件
$HADOOP_HOME/share/hadoop/common
$HADOOP_HOME/share/hadoop/common/lib
$HADOOP_HOME/share/hadoop/hdfs
$HADOOP_HOME/share/hadoop/hdfs/lib
将客户端连接进服务器
public void testMKDir() throws exception{
configuration conf = new configuration();
con.set("name","ip address");
//创建一个客户端
fileSystem client = fileSystem.get(conf);
//创建一个目录
client.mkdirs(new Path (arge0));
//关闭客户端
client.close();
}
将数据上传网盘
public void testUpload() throwa Exception{
configuration conf = new configuration();
con.set("name","ip address");
fileSystem client = fileSystem.get(conf);
//得到一个输入流
InputStream in = new FileInputStream("数据地址")
//创建一个输出流:指向HDFS
OutputStream out = client.creat("目录名称")
//上传数据:使用HDFS工具
IOUtils。copyBytes(in,out,1024)
client.close();
}
(2)原理是什么?过程是什么?
2.回收站
- 默认HDFS回收站是关闭的可以通过在core-site.xml中添加fs.trash.interval来打开配置时间阈值
- 删除文件其实是放入回收站
- 回收站的文件可以快速恢复
- 可以设置时间阈值,使得回收站里的文件存放超过时间阈值的时间后彻底删除
- 查看回收站
hdfs dfs-lsr/user/root/Trash/Current
3.快照
-主要应用在以下场景
(1)防止用户错误操作
(2)备份
(3)测试
(4)灾难恢复