脚本宝典收集整理的这篇文章主要介绍了学习笔记Hadoop(一)—— Hadoop介绍,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
大数据(Big data)或称巨量数据、海量数据、大资料,指的是所涉及的数据量规模巨大到无法通过人工或者计算机,在合理的时间内达到截取、管理、处理、并整理成为人类所能解读的形式的信息。
大数据平台是指以处理海量数据存储、计算及不间断流数据实时计算等场景为主的一套基础设施。典型的包括Hadoop系列、Spark、Storm、Flink以及Flume/Kafka等集群。
既可以采用开源平台,也可以采用华为、星环等商业级解决方案,既可以部署在私有云上,也可以部署在公有云上。
大数据平台的功能: 1、容纳海量数据 2、速度快 3、兼容传统工具 4、利用Hadoop 5、为数据科学家提供支持 6、提供数据分析功能
Apache Hadoop是一套用于在由通用硬件构建的大型集群上运行应用程序的框架。它实现了Map/Reduce编程范型,计算任务会被分割成小块(多次)运行在不同的节点上。除此之外,它还提供了一款分布式文件系统(HDFS),数据被存储在计算节点上以提供极高的跨数据中心聚合带宽。
优点: 高可靠性、高扩展性、高效性、高容错性、低成本
客户端(client)代表用户与namenode和datanode交互来访问整个文件系统
Namenode: 元数据操作,打开、关闭、重命名文件及文件夹、文件块到DataNode映射 DataNode: 文件块生成、删除、复制及执行NameNode的指令
HDFS通过多个文件块来实现大文件存储,所有的文件块都是同样大小(除了最后一个文件块); NameNode决定文件块的复制,NameNode定时会收到DataNode的心跳包及块报告。
YARN 是 Hadoop 中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度。
ResourceManager :处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度 NodeManager:单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令 ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错
MapReduce是GOOGLE提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概念“Map(映射)”和“Reduce(归纳)”,及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。
当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归纳)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
存储大量的数据(>TB) 需要很高的写吞吐量 大规模数据集很好性能的随机访问(按列) 需要进行优雅的数据扩展 结构化和半结构化的数据 不需要全部的关系数据库特性,例如交叉列、交叉表,事务,连接等等
Flume:一种分布式的、可靠的、可用的服务,其用于高效地搜集、汇总、移动大量日志数据。
ZooKeeper:一种集中服务,其用于维护配置信息,命名,提供分布式同步,以及提供分组服务。
Mahout:一种基于Hadoop的机器学习和数据挖掘的分布式计算框架算法集,实现了多种MapReduce模式的数据挖掘算法。
Spark:一个开源的数据分析集群计算框架,最初由加州大学伯克利分校AMPLab开发,建立于HDFS之上。Spark与Hadoop一样,用于构建大规模、低延时的数据分析应用。Spark采用Scala语言实现,使用Scala作为应用框架。
Storm: 一个分布式的、容错的实时计算系统,由BackType开发,后被Twitter捕获。Storm属于流处理平台,多用于实时计算并更新数据库。Storm也可被用于“连续计算”(continuous computation),对数据流做连续查询,在计算时就将结果以流的形式输出给用户。它还可被用于“分布式RPC”,以并行的方式运行昂贵的运算。
以上是脚本宝典为你收集整理的学习笔记Hadoop(一)—— Hadoop介绍全部内容,希望文章能够帮你解决学习笔记Hadoop(一)—— Hadoop介绍所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。