Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
HDFS为了做到可靠性(reliability)创建了多份数据块(data blocks)的复制(replicas),并将它们放置在服务器群的计算节点中(compute nodes),MapReduce就可以在它们所在的节点上处理这些数据了。
HDFS的架构:
HDFS的基本操作和命令:
bin/hadoop dfs –ls /user/
显示hdfs指定路径下的文件和文件夹
bin/hadoop dfs –put my_file /data/
将本地文件上传到hdfs
bin/hadoop dfs –get /tmp/data/my_file
将hdfs上的文件下载到本地
bin/hadoop dfs
–cat /tmp /data/my_file
查看dfs中的文本文件内容
bin/hadoop dfs –text /tmp /data/my_sequence_file
查看dfs中的sequence文件内容
bin/hadoop dfs –rm /tmp /data/my_file
将hdfs上的文件删除
如果把数据误删除了,可以从/user/user_name/.Trash里面进行回复。