学习视频是基于hadoop2.6.5版本,看官网截止20190818已到3.2.0版本,但该版本官网说明尚未普遍GA或生产可用。而2.X版本目前最新的是2.9.2版本,最后一次修复bug是在2018-11-19。
版本号小科普
Alpha:是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。
Beta:也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出。
RC:(Release Candidate) 用在软件上就是发行候选版本。RC版不会再加入新的功能了,主要着重于除错。
GA:General Availability,正式发布的版本,在国外都是用GA来说明release版本的。
RTM:(Release to Manufacture)是给工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也有出限制、评估版的。但是和正式版本的主要程序代码都是一样的。
OEM:是给计算机厂商随着计算机贩卖的,也就是随机版。只能随机器出货,不能零售。只能全新安装,不能从旧有[操作系统]升级。包装不像零售版精美,通常只有一面CD和说明书(授权书)。
RVL:号称是正式版,其实RVL根本不是版本的名称。它是中文版/英文版文档破解出来的。
EVAL:而流通在网络上的EVAL版,与“评估版”类似,功能上和零售版没有区别。
RTL:Retail(零售版)是真正的正式版,正式上架零售版。
α、β、λ常用来表示[软件测试]过程中的三个阶段,α是第一阶段,一般只供内部测试使用;β是第二个阶段,已经消除了软件中大部分的不完善之处,但仍有可能还存在缺陷和漏洞,一般只提供给特定的用户群来测试使用;λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可上市发行。
核心思想
- 分而治之,分布式,并行计算
- 计算向数据移动
模块
Hadoop Common
Hadoop Distributed File System (HDFS™):分布式存储系统HDFS
-分布式存储系统
-提供了高可靠性、高扩展性和高吞吐率的数据存储服务
Hadoop YARN:分布式资源管理框架YARN(Yet Another Resource Management)
-负责集群资源的管理和调度
Hadoop MapReduce:分布式计算框架
-分布式计算框架(计算向数据移动)
-具有 易于编程、高容错性和高扩展性等优点。
生态
Hbase、Hive、Spark、Zookeeper等
HDFS
存储模型:按字节存储
1.文件线性切割成块(Block):偏移量 offset (byte)
2.Block分散存储在集群节点中
3.单一文件Block大小一致,文件与文件可以不一致
4.Block可以设置副本数,副本分散在不同节点中,副本数不要超过节点数量
5.文件上传可以设置Block大小和副本数
6.已上传的文件Block副本数可以调整,大小不变
7.只支持一次写入多次读取,同一时刻只有一个写入者
8.可以append追加数据
架构模型:
1.文件元数据MetaData,文件数据
2.(主)NameNode节点保存文件元数据:单节点 posix
3.(从)DataNode节点保存文件Block数据:多节点
4.DataNode与NameNode保持心跳,提交Block列表
5.HdfsClient与NameNode交互元数据信息
6.HdfsClient与DataNode交互文件Block数据