1、 安全模式
hdfs dfsadmin -safemode get //获取安全模式状态
hdfs dfsadmin -safemode enter //进入安全模式
hdfs dfsadmin -safemode leave //离开安全模式
hdfs dfsadmin -safemode wait //等待离开安全模式
2、 namenode多目录
namenode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性。
hdfs-site.xml
dfs.namenode.name.dir
file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2
a) 停止集群,删除data 和logs rm -rf data/* logs/*
b) hdfs namenode -format
c) start-dfs.sh
3、 掉线时限参数设置
hdfs-site.xml
dfs.namenode.heartbeat.recheck-interval
4、 集群间数据拷贝
cp -r hello.txt root@bigdata111:/user/itstar/hello.txt // 推push
scp -r root@bigdata112:/user/itstar/hello.txt hello.txt // 拉pull
scp -r root@bigdata112:/opt/module/hadoop-2.8.4/LICENSE.txt root@bigdata113:/opt/module/hadoop-2.8.4/LICENSE.txt
采用distcp命令实现两个hadoop集群之间的递归数据复制(注:不用设置其他,直接写IP)
bin/hadoop distcp hdfs://192.168.1.51:9000/LICENSE.txt hdfs://192.168.1.111:9000/HAHA
5、 hadoop(不适合存储小文件)存档
需要启动yarn进程
hadoop archive -archiveName -p [-r <复制因子>]
查看归档文件
hadoop fs -lsr /user/my/myhar.har
hadoop fs -lsr har:///myhar.har
取消存档(要创建目的路径):
hadoop fs -cp har:/// user/my/myhar.har /* /user/itstar
并行解压缩(目的路径不存在):
hadoop distcp har:/foo.har /001
使用存档作为MapReduce的输入的例子
创建存档
运行hadoop提供的MapReduce示例
6、 快照
hdfs dfsadmin -allowSnapshot //开启指定目录的快照功能
hdfs dfsadmin -disallowSnapshot //关闭指定目录的快照功能
hdfs dfs -createSnapshot [name] //创建快照
hdfs dfs -renameSnapshot //重命名快照
hdfs lsSnapshottableDir //列出快照目录
hdfs snapshotDiff //列出两个快照目录的不同
hdfs dfs -deleteSnapshot //删除快照
hdfs dfs -cp /.snapshot/ //恢复快照
7、 回收站
1) 默认回收站默认值fs.trash.interval=0,0表示禁用回收站,可以设置删除文件的存活时间。
默认值fs.trash.checkpoint.interval=0,检查回收站的间隔时间。
要求fs.trash.checkpoint.interval<=fs.trash.interval。
2)启用回收站(重启hdfs)
修改core-site.xml,配置垃圾回收时间为1分钟。
fs.trash.interval
1
hadoop.http.staticuser.user
jmgu
5)通过程序删除的文件不会经过回收站,需要调用moveToTrash()才进入回收站
Trash trash = New Trash(conf);
trash.moveToTrash(path);
6)恢复回收站数据
hadoop fs -mv /user//.Trash/Current/user//input
7)清空回收站
hdfs dfs -expunge
可以看到,过一段时间,Current会被自动重命名为时间戳
一分钟之后,被自动清理