Hadoop学习笔记(二)--HDFS分布式文件系统(1)
来源:互联网 发布:豪沃克幕墙计算软件 编辑:程序博客网 时间:2024/06/05 09:46
Hadoop学习笔记(二)--HDFS分布式文件系统
HDFS简介
优点:
- 处理超大文件
- 流式的访问数据(一次写入,多次读取)
- 运行于廉价的商用机器集群上
局限性:
- 不适合处理低延迟数据访问
- 无法高效存储大量的小文件
- 不支持多用户写入及任意修改文件
HDFS架构
主从结构
- 主节点:只有一个NameNode(单点故障),HA下会有多个NameNode。
- 从节点:有很多DataNode。
NameNode负责
- 接收用户操作请求
- 维护文件系统的目录结构
- 管理文件与block之间的关系,block与DataNode之间的关系
DataNode负责
- 存储文件
- 文件被分成block存储在磁盘上
- 为保证数据安全,文件会有多个副本
HDFS核心设计
数据块
HDFS块默认大小,Hadoop1是64M,Hadoop2是128M
数据副本存放策略
在多数情况下,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. Hadoop是master/slave结构,master中有NameNode、ResourceManager,slave中有DataNode、NodeManager。
2. master启动时,会启动一个ipc(Inter-Process Communication,进程间通信)server服务,等待slave连接。
3. slave启动时,会主动连接master中的服务,并且每隔3秒连接一次master,这就是心跳,slave通过心跳汇报自己的状态给master。
4. NameNode通过心跳知道DataNode的状态;ResourceMangager也通过心跳知道Nodemanager的状态。
5. 如果master长时间没有收到slave的心跳,那么它就认为slave宕机了。
机架感知
大型Hadoop集群是以机架的形式来组织的。默认没有启用。
HDFS操作
- 命令行接口
- Java接口
- Hadoop学习笔记(二)--HDFS分布式文件系统(1)
- Hadoop分布式文件系统(HDFS)学习笔记
- 《Hadoop学习笔记系列》二.Hadoop分布式文件系统 HDFS
- 理解Hadoop分布式文件系统HDFS(二)
- Hadoop 学习笔记六 分布式文件系统HDFS
- Hadoop学习笔记--3.Hdfs分布式文件系统
- Hadoop分布式文件系统(HDFS)
- Hadoop分布式文件系统(HDFS)
- Hadoop分布式文件系统(HDFS)
- hadoop知识点总结(二)hdfs分布式文件系统
- hadoop 学习笔记 三 ---HDFS hadoop分布式文件系统
- Hadoop学习笔记(6)-简述分布式文件系统HDFS原理
- Hadoop的分布式文件系统(HDFS)
- Hadoop — 分布式文件系统HDFS(初识 )
- 理解Hadoop分布式文件系统HDFS(一)
- Hadoop之HDFS(分布式文件系统)-yellowcong
- Hadoop之分布式文件系统—HDFS(1)
- Hadoop HDFS源码学习笔记(二)
- ZOJ
- Jquery插件之Growl
- PaaS平台——多租户的RBAC权限管理(一)基本概念
- import skimage.io ImportError: No module named skimage.io(编译pycaffe报错)
- 常用字符串Hash函数
- Hadoop学习笔记(二)--HDFS分布式文件系统(1)
- c/c++学习------>结构体
- 搭建SSH中出现的问题(Error configuring application listener of class)
- MySQL传统复制与GTID复制原理及操作详解
- Git使用基础和常用命令汇总
- java.sql.SQLException: Field 'id' doesn't have a default value
- Linux vim设定Tab键缩进
- JavaWeb开发常见异常总结
- react-native网络请求Fetch中遇到的坑