操作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 /

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底层原理