hadoop distributed file system
(1)hdfs的架构和原理:
hdfs采用master/slave的结构来存储数据,这种架构主要有四个部分组成:client、namenode、datanode、secondary namenode;
client:就是客户端
1、文件切分。在上传文件的时候,client将文件切分为一个个的block。然后进行存储。
2、和namenode进行交互,获取文件的存储信息。
3、和datanode进行交互,读或写数据。
4、client可以提供一些命令来管理和访问hdfs
namenode:就是master,是元数据的管理者
1、管理hdfs的名称空间。
2、管理block的映射信息。
3、配置副本策略。
4、处理客户端提出的请求。
datanode:就是slave,完成namenode下达的命令
1、存储数据
2、进行读写操作
secondary namenode:namenode的备份
************************************
hdfs的常用shell命令:
查看目录下的文件列表:
hdfs dfs -ls [option]
查看文本文件:
hdfs hfs -cat [option]
创建目录:
hdfs dfs -mkdir [option]
删除目录:
hdfs dfs -rm [option]
本地和hfds的文件操作:
本地->hdfs: hdfs dfs -copyFromLocal(put) [option1] [option2]
hdfs->本地: hdfs dfs -copyToLocal(get) [option1] [option2]
查看压缩文件的内容:
hdfs dfs -text [option] | more
查看文件的大小:
hfds dfs -du -h [option]
创建文件:
hdfs dfs -touchz [option]
查看命令的帮助信息:
hdfs dfs -usage [option]
**********************************************
hdfs在使用命令行删除文件的时候,被删除的文件并不会立即消失,而是会被放在每个用户都有的.trash的一个目录下,如想回复,则在那里边mv出来即可。如不作操作,则会在系统设置的默认时间过后清除,如想直接删除,则加上参数 -skipTrash 即可直接删除。
**********************************************
关于hdfs文件存储的一些原理:
1、hdfs的
**********************************************
(2)hdfs的API应用
流程/步骤:
加载配置:
Configuration conf = new Configuration();
获得hdfs集群对象的引用:
FileSystem fs = FileSystem.get(conf);
将给定的路径封装成Path对象:
Path path = new Path("[option]");
********************
对hdfs的数据进行IO操作
********************