大数据学习06:操作HDFS

操作HDFS

1、Web Console:端口50070
    2、命令行:类似Linux命令
        (1)操作命令  hdfs dfs *****
		-mkdir  创建目录
			举例:hdfs dfs -mkdir /aaa
			      hdfs dfs -mkdir -p /bbb/ccc
				  -p 表示如果父目录不存在 先创建父目录
				
		-ls      查看某个目录
		-ls -R   查看某个目录,包含子目录
				 简写: -lsr
		
		-put             上传数据  hdfs dfs -put data.txt /input
		-copyFromLocal   上传数据  hdfs dfs -copyFromLocal data.txt /input
		-moveFromLocal   上传数据(相当于 ctrl+x 剪切)
		
		-copyToLocal     下载数据
		-get             下载数据
				
		-rm    删除目录
		-rmr   删除目录(包含子目录)
		hdfs dfs -rmr /tools
			rmr: DEPRECATED: Please use 'rm -r' instead.
			
			日志:
			18/04/09 21:35:40 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.
			Deleted /tools ---> 成功删除(对比:回收站)

		-getmerge: 把某个目录下的文件先合并,再下载(提高效率)
					[[email protected] temp]# vi student01.txt
					[[email protected] temp]# vi student02.txt
					[[email protected] temp]# hdfs dfs -mkdir /students
					[[email protected] temp]# hdfs dfs -put student0*.txt /students
					[[email protected] temp]# hdfs dfs -ls /students
					[[email protected] temp]# hdfs dfs -getmerge /students ~/temp/allstudent.txt			
		
		-cp:  hdfs dfs -cp /input/data.txt /input/data2.txt
		-mv:  hdfs dfs -cp /input/data.txt /students
		
		-count: hdfs dfs -count /students
						hdfs dfs -count /students
					   1            2                 29       /students			
					  目录个数,  文件个数,   文件总计大小	  输入路径
					  
		-du 每个文件的大小
			[[email protected] temp]# hdfs dfs -du /students
			19  /students/student01.txt
			10  /students/student02.txt
				
		-text、-cat  查看文件的内容
		       hdfs dfs -cat /students/student01.txt
				
		balancer: 平衡操作	
        
        (2)管理命令  hdfs dfsadmin *****
			-report: 输出HDFS的报告(Summary)
			-safemode: 安全模式
				[[email protected] temp]# hdfs dfsadmin -safemode
				Usage: hdfs dfsadmin [-safemode enter | leave | get | wait]
				[[email protected] temp]# hdfs dfsadmin -safemode get
				Safe mode is OFF
				[[email protected] temp]# hdfs dfsadmin -safemode enter
				Safe mode is ON
				[[email protected] temp]# hdfs dfs -mkdir /aaaa
				mkdir: Cannot create directory /aaaa. Name node is in safe mode.
				[[email protected] temp]# hdfs dfsadmin -safemode leave
				Safe mode is OFF
	
        
        (*)普通的操作命令:hdfs dfs ***(另一种写法:hadoop fs ******)
        (*)HDFS的管理命令:hdfs dfsadmin *****
        例如:
                [-report [-live] [-dead] [-decommissioning]]
                打印报告:
                    hdfs dfsadmin -report
                
                [-safemode <enter | leave | get | wait>]
                管理安全模式的命令
                enter:手动进入安全模式
                leave:手动离开安全模式
                get:当前状态
        
        hdfs dfsadmin -safemode get
        
     1、安全模式 safe mode
    注意:HDFS正常运行的时候,安全模式一定是off(关闭状态)
  是HDFS的自我保护,作用:检查数据块的副本率
  HDFS处于安全模式,是只读状态
2、快照:是一种备份
  [-allowSnapshot <snapshotDir>]
  [-disallowSnapshot <snapshotDir>]
  
  3、配额
    名称配额
    [-setQuota <quota> <dirname>...<dirname>]
    [-clrQuota <dirname>...<dirname>]

    空间配额
    [-setSpaceQuota <quota> [-storageType <storagetype>] <dirname>...<dirname>]
[-clrSpaceQuota [-storageType <storagetype>] <dirname>...<dirname>]

hdfs dfs -ls -R /

大数据学习06:操作HDFS

4、回收站
    如果启用了回收站,看日志就明白
3、JavaAPI
	```
public class TestMkDir {  
	  public void  testMkDir() throws IOException {
	          //        System.setProperty("HADOOP_USER_NAME","root");
	                  //配置参数,指定NameNode
	                          Configuration conf = new Configuration() ; 
	                                 conf.set("fs.defaultFS","hdfs://10.1.255.132:9000"); 
	                                  //创建客户端
	                                          FileSystem client = FileSystem.get(conf);
	                                                  //创建目录        
	                                                  client.mkdirs(new Path("/folder1"));
	                                                          client.close();
	                                                                  System.out.println("success 哈哈哈哈哈");    
	                                                                  		}
	                                                                  }


```

二、HDFS的原理分析

三、HDFS的高级特性

HDFS底层原理