五、HADOOP-工作机制

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
300000 dfs.heartbeat.interval 3

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-工作机制_第1张图片
image
image

查看归档文件

hadoop fs -lsr /user/my/myhar.har
hadoop fs -lsr har:///myhar.har
image
五、HADOOP-工作机制_第2张图片
image

取消存档(要创建目的路径):

hadoop fs -cp har:/// user/my/myhar.har /* /user/itstar

并行解压缩(目的路径不存在):

hadoop distcp har:/foo.har /001
五、HADOOP-工作机制_第3张图片
image

使用存档作为MapReduce的输入的例子

image

创建存档

image

运行hadoop提供的MapReduce示例

image
五、HADOOP-工作机制_第4张图片
image
五、HADOOP-工作机制_第5张图片
image

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/    //恢复快照
五、HADOOP-工作机制_第6张图片
image
五、HADOOP-工作机制_第7张图片
image
五、HADOOP-工作机制_第8张图片
image
image
image
五、HADOOP-工作机制_第9张图片
image

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
image
image

可以看到,过一段时间,Current会被自动重命名为时间戳

五、HADOOP-工作机制_第10张图片
image

一分钟之后,被自动清理

你可能感兴趣的:(五、HADOOP-工作机制)