title: 大数据之Hadoop学习<一>————认识HDFS
date: 2018-11-12 20:31:36
tags: Hadoop
categories: 大数据
toc: true
点击查看我的博客:Josonlee’s Blog
文章目录
分布式文件系统 HDFS
分布式文件系统(Distributed FileSystem)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
Hadoop有若干文件系统,HDFS只是其中一个,但HDFS是其重要组成部分。HDFS由java的org.apache.hadoop.fs.FileSystem
定义,并实现了java.io.Closeable
接口,继承了org.apache.hadoop.conf
我们可以通过命令行下 hadoop dfs -ls hdfs:///
访问HDFS文件系统
HDFS特点
- 存储超大文件
- 流式文件访问
- 高效访问模式:一次写入、多次访问
- 只支持文件追加操作,不能修改
- 追加操作要在hdfs-site.xml中的 dfs.support.append 设置为true才行
- 普通商用硬件上即可运行(实际上普通PC还是不OK,那速度,这都是氪金玩家玩的,hh)
- 不适合低时间延迟的数据访问
- 以高时延为代价,获取高数据吞吐量
- 响应时间秒级、毫秒级的数据访问,应该采用HBase
- 多用户在写入文件时有锁机制,只支持单个写入者
- 不适合存大量小文件
由于 Namenode 将文件系统的元数据存储在内存中,因此
HDFS所能存储的文件总数受限于Namenode的内存容量
根据经验,每个文件、目录和数据块的存储信息大约占150
字节,存储100万个文件大约需要300M内存
名称解释
- Cluster 集群
- Rack 机架
- Client 客户机
- Namenode 名称节点
- Datanode 数据节点
- Secondary NameNode 辅助(第二)名称节点
- Metadata 元数据
- Block 块
- 整体结构
- Namenode和Secondary Namenode
Namenode是HD