Hadoop学习笔记(二)--HDFS分布式文件系统(1)

来源:互联网 发布:豪沃克幕墙计算软件 编辑:程序博客网 时间:2024/06/05 09:46

Hadoop学习笔记(二)--HDFS分布式文件系统

HDFS简介

优点:

  • 处理超大文件
  • 流式的访问数据(一次写入,多次读取)
  • 运行于廉价的商用机器集群上

局限性:

  • 不适合处理低延迟数据访问
  • 无法高效存储大量的小文件
  • 不支持多用户写入及任意修改文件

HDFS架构

主从结构

  • 主节点:只有一个NameNode(单点故障),HA下会有多个NameNode
  • 从节点:有很多DataNode

NameNode负责

  • 接收用户操作请求
  • 维护文件系统的目录结构
  • 管理文件与block之间的关系,blockDataNode之间的关系

DataNode负责

  • 存储文件
  • 文件被分成block存储在磁盘上
  • 为保证数据安全,文件会有多个副本

HDFS核心设计

数据块

HDFS块默认大小,Hadoop164MHadoop2128M

数据副本存放策略

在多数情况下,HDFS默认的副本系数是3

  • 第一个block副本放在和client所在的node里(如果client不在集群范围内,则这第一个node是随机选取的,系统会尝试不选择那些太满或者太忙的node)。
  • 第二个副本放置在与第一个节点不同的机架中的node中(随机选择)。
  • 第三个副本和第二个副本在同一个机架,随机放在不同的node中。

安全模式

hadoop dfsadmin -safemode leave //强制NameNode退出安全模式

hadoop dfsadmin -safemode enter //进入安全模式

hadoop dfsadmin -safemode get //查看安全模式状态

hadoop dfsadmin -safemode wait //等待,一直到安全模式结束

负载均衡

分析数据块分布和重新均衡DataNode上的数据分布的工具。

$HADOOP_HOME/sbin/start-balancer.sh

心跳机制

1. Hadoopmaster/slave结构,master中有NameNodeResourceManager,slave中有DataNodeNodeManager

2. master启动时,会启动一个ipcInter-Process Communication,进程间通信)server服务,等待slave连接。

3. slave启动时,会主动连接master中的服务,并且每隔3秒连接一次master,这就是心跳,slave通过心跳汇报自己的状态给master

4. NameNode通过心跳知道DataNode的状态;ResourceMangager也通过心跳知道Nodemanager的状态。

5. 如果master长时间没有收到slave的心跳,那么它就认为slave宕机了。

机架感知

大型Hadoop集群是以机架的形式来组织的。默认没有启用。

HDFS操作

  • 命令行接口
  • Java接口



阅读全文
0 0
原创粉丝点击