hadoop 之 hdfs
基本概念
块的概念
HDFS 的文件被分成块进行存储
块的默认大小为64MB
块是文件存储的逻辑单元
HDFS 有两类节点NameNode 和DataNode
a) NameNode 是管理节点, 存放文件元数据 . 1. 文件与数据块的映射表; 2. 数据块和数据节点的映射表
b) DataNode 是HDFS 的工作节点, 存放数据块
管理策略
1) 每个数据块3 个副本, 分布在两个机架内的 三个节点上 如下:
2) DataNode 定期向 NameNode 发送心跳消息:
3)二级NameNode 定期同步元数据映像文件和修改日志到 Secondary NameNode , 当NameNode 发生故障的时候, 可以备用
HDFS 文件读写流程
1. 读:
2. 写
HDFS 的特点
1. 数据冗余, 硬件容错(大量重复)
2. 流式数据访问(一次写入, 多次读取)
3. 适合存储大文件. 不支持多用户并发写相同文件
HDFS 命令行的使用
1. hadoop namenode -format 格式化
2. hadoop fs -ls / 打印文件列表
3. hadoop fs -mkdir input 创建 input文件夹 在 /user 下
4. hadoop fs -put hadoop-env.sh input/ 将 hadoop-env.sh 放在 input 的文件夹下
5. hadoop fs -cat input/hadoop-env.sh 查看文件内容
6. hadoop fs -get input/hadoop-env.sh kk.sh 从HDFS 中下载文件 到当前目录 名字为 kk.sh
7. hadoop dfsadmin -report 查看文件系统的使用状况