第一天:hadoop基本概念 伪分布式hadoop集群安装 hdfs mapreduce演示
第二天:hdfs原理和使用操作,编程
第三天:mapreduce原理和编程
第四天 :常见mr算法实现和shuffle的机制
第五天:hadoop.x中HA机制的原理和全分布式集群安装部署及维护
第六天:hbase hive
第七天 :storm+kafxa
第八天:实战项目
首先,了解下分布式和集群的概念
分布式:一个任务分给多台机器去做,减少单个任务的执行时间。
集群:提高单位时间内执行任务数。
例如:一个任务由10个子任务组成,每个子任务单独执行需要1个小时,则在一台服务器上执行该任务需要10个小时。
分布式方案:提供10台服务器,每台服务器只处理一个子任务,不考虑任务间的依赖关系,执行完这个任务只需要一个小时。
集群方案:同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小时后,10个任务同时完成,同样是一个小时完成一个任务。
集群概念:
1、两个关键特性
集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性和可用性的服务平台。
可扩展性:集群的性能不限于单一的服务实体,新的服务实体可以动态的加入到集群中
高可用性:同样的服务可以由多个服务实体提供,如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。
2、两大能力:
为了具备高可扩展性和高可用性,要具备两大能力
负载均衡:把任务比较均衡的分配到集群环境下的计算和网络资源
错误恢复:由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。
3、两大技术
集群地址
内部通信
集群分类:高可用集群、负载均衡集群、科学计算集群
分布式(集群)与集群的联系和区别
分布式是将不同的业务分布在不同的地方
集群是将几台服务器集中在一起,实现同一业务
分布式中每个节点,都可以做集群
而集群不一定是分布式的
以上概念转自:https://blog.csdn.net/qq_18815817/article/details/78981225
hadoop是什么?
一个解决海量数据集的框架
解决问题?
1.海量数据的存储(HDFS)
2.海量数据的分析(MapReduce)
3.资源管理调度(YARN)
MapReduce:
- 映射(Mapping) :对集合里的每个目标应用同一个操作。即,如果你想把表单里每个单元格乘以二,那么把这个函数单独地应用在每个单元格上的操作就属于mapping(这里体现了移动计算而不是移动数据);
- 化简(Reducing):遍历集合中的元素来返回一个综合的结果。即,输出表单里一列数字的和这个任务属于reducing。
HDFS的实现思想:1:通过分布式集群存储文件,为客户端提供了编辑的访问方式以及虚拟的路径格式
2:文件存储到hdfs集群中去的时候是被切分为block
3: 文件的block存放在若干台datanode节点上
4:hdfs文件系统中的文件与真实的block之间有映射关系,有namenode管理
5:每一个block在集群中会存储多个副本,好处是可以提高数据的可靠性,可以提高访问的吞吐量,提高并发能力