版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lihaogn/article/details/81945629
HDFS(Hadoop Distributed File System)
1)设计目标
- 非常巨大的分布式文件系统
- 运行在普通廉价的硬件上
- 易扩展,为用户提供性能不错的文件存储服务
2)特点:高扩展性,高容错性,海量的数据存储
- 将文件切分成制定大小的数据块并以多副本的方式存储在多个机器上。
- 数据切分、多副本、容错等操作对用户是透明的。
3)架构
master/slaves(主从架构)
NameNode (master/NN)
1.负责客户端请求的响应
2.负责元数据(文件名称,副本系数,block存放的DN)的管理DataNode (slaves/DN)
1.存储用户的文件对应的数据块(block)
2.定期向NN发送心跳信息,汇报自身及所有block的信息和健康状况
4)副本机制
扫描二维码关注公众号,回复:
2948512 查看本文章
HDFS副本存放策略:默认分为三个副本
- 第一个副本与client在同一个机器上
- 第二个副本在另外一个机架上
- 第三个副本和第二个在一个机架上,但不在一个机器上
5)HDFS优缺点
优点:
- 低数据冗余,高硬件容错
- 处理流式的数据访问
- 适合存储大文件
- 可构建在廉价机器上
缺点:
- 高延迟的数据访问
- 不适合小文件存储
6) shell 常用命令
# 先启动hadoop
sbin/start-dfs.sh
# 查看目录
hadoop fs -ls /
# 创建文件夹
hadoop fs -mkdir dir-name
# 上传本地文件到HDFS
hadoop fs -put local-file hdfs-file
# 下载HDFS上文件到本地
hadoop fs -get hdfs-file local-file
# 删除HDFS上文件
hadoop fs -rm file-name