一、hadoop
分布式基础系统框架,主要解决数据的存储与计算;
hadoop的四大优势:高可靠性,高扩展性,高效性,高容错性
hadoop1.0由mapreduce和hdfs组成,hadoop2.0由mapreduce,hdfs和yarn组成
hadoop运行模式包括:本地模式,伪分布式模式和完全分布式模式
编写集群分发脚本:xsynv.sh(需要配置ssh免密登录)
二、HDFS
HDFS是分布式文件管理系统,用于存储文件,适合一次写入,多次读出,并且不支持文件的修改
优点:高容错性,适合处理大数据,可构建在廉价机器上
组成架构:1、NameNode(nn):管理者
2、DataNode(dn):执行者
3、Client:客户端
4、Secondary NameNode:辅助nn
#HDFS文件块大小的确定方式:
1、如果寻址时间为10ms,即查找目标block的时间为10ms
2、寻址时间为传输时间的1%时,为最佳状态,因此传输时间为10ms/0.01=1000ms=1s
3、目前磁盘的传输速率普遍为100MB/B
4、block大小:1s*100MB/s=100MB
DataName工作机制:DN启动之后去找NN注册,每6小时向NN上报所有块信息,每3秒与NN沟通一次(3秒一次心跳),带回NN相关指令,如果超过10.5分钟没有收到DN的心跳,则认为该节点不可用。
三、MapReduce
分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。
用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并行运行在一个Hadoop集群上。
优点:易于编程,良好的扩展性,高容错率,适合PB以上海量数据
hadoop序列化:把内存中的对象转换到磁盘中永久存储
优点:紧促,快速,可扩展,互操作,比Java序列化更加轻量级
四、Yarn
Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。