一:模块介绍

Hadoop comment: 为hadoop的其他模块提供基础支持(工具类)
Hadoop Distributed File System: 高吞吐量的分布式文件管理系统
Hadoop MapReduce:大数据的离线的并行计算框架(固定三步:map—reduce–shuffle)
Hadoop Yarn: 分布式资源管理框架(MapReduce的扩展):任务调度+资源管理

二:相关进程:

开启hadoop:
>>start-dfs.sh 关闭hadoop
>>stop-dfs.sh
测试是否开启成功:
>>jps:查看与java有关的进程
Master: NameNode
SecondrayNameNode
Slave: DataNode
>>提供检测网页:master:50070
NameNode(管理节点)作用:
1 管理文件系统(文件树)的命名空间
:fsimage(镜像文件) 位置:(/usr/local/hadoop/hdfs/dfs/name/current)
: edits (日志文件) 位置:(/usr/local/hadoop/hdfs/dfs/name/current)
2 接受客户端的请求
3 管理和调度DataNode
SecondrayNameNode
1 :定时的把edits日志文件合并到fsimage镜像文件中
2 :作为NameNode的冷备份
(当namenode数据丢失时:需要程序员通过cp命令把nameSecondray下的current目录拷贝到name的current下)
DataNode(工作节点)
1 :对block的管理和维护
2 :文件的上传和下载
3 :间隔指定时间(默认3s)向NameNode发送自己的现状(心跳)
如果namenode在10分钟没没有收到datanode的心跳 认为此datanode挂了
Fsimage:镜像文件:(对hdfs的快照)
保存整个hdfs系统的元数据(datanode,目录,文件,block的具体消息:存储消息 修改信息 权限信息等)
当hadoop启动时 会加载fsimage 才能获取hdfs上所有datanode的文件树结构(文件的存储信息 block的使用信息)
Hadoop启动后 对hdfs的所有操作都会形成一个日志信息保存到edits中
要想获取最新的hdfs的文件存储信息 需要加载fsimage和所有的edits edits的记载需要逐条执行 需要很长时间
为了减少hadoop启动时的加载时间:secondaryname会对fsimage和edits进行合并为更新的fsimage文件
secondaryname对fsimage和edits进行合并的条件
1 时间距离上次合并10分钟
2 Edits文件大小超过64M

三:解析配置信息:

3.1:/usr/local/Hadoop/etc/Hadoop/slaves
作用:指定所有的DataNode节点
3.2:/usr/local/Hadoop/etc/Hadoop/core-site.xml
fs.defaultFS属性作用:配置HDFS的NameNode进程
hadoop.tmp.dir属性作用:配置HDFS的根目录
3.3:/usr/local/Hadoop/ect/Hadoop/hdfs-site.xml
dfs.namenode.secondary.http-address属性作用:配置HDFS的SecondaryNameNode进程

四:备份 HDFS保证数据的完整性

Hdfs默认文件都由三个备份
同一个局域网中的主机定义为一个机架
第一份:随机保存到某个机架的datanode中
第二份:保存在其他机架的datanode中
第三份:保存在第二个datanode相同的机架的另外一个datanode中
当第一份备份丢失或者数据损坏时 datanode实现自动由其他备份实现复制和修复