Hadoop之HDFS介绍

之前在http://blog.csdn.net/t_ells/article/details/49301227文章中提到过Hadoop的核心由HDFS ,MapReduce以及yarn组成

Hadoop是一个由 Apache基金会所开发的 分布式系统基础架构,该项目的创建者Doug Cutting。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储
Hadoop实现了一个分布式文件系统( Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

以64M为单位进行拆分 HDFS分区分为64M便于查找,优于硬盘(32M),多台服务器组合而成存储数据(存放方式打散 )如果不打散,在map中就不能平均分配 每个数据都可被随机复制为3份
NameNode:存放目录索引 
DataNode:存放文件内容
备份:
1.统一节点  
2.统一机架 
3.统一的数据中心(不同机架的某一个节点)  
4.不同的数据中心
每一个datanode都会记录下一个datanode的位置
NameNode会存放几个目录路径,客户端会通过 FSDataInputStream读取数据 分为多个block,
NameNode会存放下一个block路径
sname 定期的备份
name 存放目录
data 存放数据(可以有多个data)

回顾一下计算机存储单位

计算机存储单位一般用B,KB、MB、GB、TB,PB、EB、ZB、YB、BB来表示,它们之间的关系是:

位bit (比特)(Binary Digits):存放一位二进制数,即 0或 1,最小的存储单位。
字节 byte:8个二进制位为一个字节(B),最常用的单位。
1KB(Kilobyte 千字节) = 2^10 B = 1024 B;
1MB(Megabyte兆字节) = 2^10 KB = 1024 KB = 2^20 B;
1GB(Gigabyte吉字节) = 2^10 MB = 1024 MB = 2^30 B;
1TB(Trillionbyte太字节) = 2^10 GB = 1024 GB = 2^40 B;
1PB(Petabyte拍字节) = 2^10 TB = 1024 TB = 2^50 B;
1EB(Exabyte 艾字节) = 2^10 PB = 1024 PB = 2^60 B;
1ZB(Zettabyte泽字节) = 2^10 EB = 1024 EB = 2^70 B;
1YB(YottaByte尧字节) = 2^10 ZB = 1024 ZB = 2^80 B;
1BB(Brontobyte ) = 2^10 YB = 1024 YB = 2^90 B;
1NB(NonaByte ) = 2^10 BB = 1024 BB = 2^100 B;
1DB(DoggaByte) = 2^10 NB = 1024 NB = 2^110 B;
1KB (Kilobyte 千字节)=1024B,
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte吉字节 又称“千兆”)=1024MB,
1TB (Trillionbyte 万亿字节 太字节)=1024GB,其中1024=2^10 ( 2的10次方),
1PB(Petabyte 千万亿字节 拍字节)=1024TB,
1EB(Exabyte百亿亿字节 艾字节)=1024PB,
1ZB (Zettabyte 十万亿亿字节 泽字节)= 1024 EB,
1YB (Jottabyte 一亿亿亿字节 尧字节)= 1024 ZB,    
1BB (Brontobyte 一千亿亿亿字节)= 1024 YB.注:“兆”为百万级数量单位。  

HDFS命令

ls 命令

hadoop fs -ls /
hadoop fs -ls hdfs://localhost:9000/(hdfs:分布式文件系统)

递归查看

hadoop fs -ls -R /user

mkdir 命令

hadoop fs -mkdir /data

 rm 命令

 删除文件
hadoop fs -rm /data
 删除目录及子文件
hadoop fs -rm -r /data

put 命令
hadoop fs -put ./d01 /data/data2

get 命令
hadoop fs -get /data/data2/d01 ./

cat 命令
hadoop fs -cat /data/data2/d01

text 命令
 允许查看压缩文件和序列化文件
hadoop fs -text /data/data2/d01

mv 命令

hadoop fs -mkdir /data1
hadoop fs -mv /data/data2/d01 /data1
 

getmerge 命令

hadoop fs -put ./d01 /data/data2
hadoop fs -put ./d02 /data/data2

将data2目录下的文件合并后复制到wf文件中

hadoop fs -getmerge /data/data2 ./wf

touchz 命令
hadoop fs -touchz /data/data2/d03

tail 命令(默认为最后的1000个字节)

hadoop fs -tail /data/data2/d02

distcp 命令

 集群间拷贝文件
hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值