还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
综述Hadoop是一个开源的分布式数据处理框架广泛应用于大数据处理、存储和分Hadoop,析领域本课件将概述的基本架构、主要组件和核心功能帮助大家全Hadoop,面地了解技术及其在实际应用中的优势Hadoop简介Hadoop开源框架分布式存储并行计算是一个开源的大数据处理框架由提供了分布式文件系统可采用编程模型可Hadoop,Hadoop HDFS,Hadoop MapReduce,Apache软件基金会开发维护以在商用硬件上存储海量数据以在大规模集群上并行处理大量数据核心组件HadoopHDFS MapReduce分布式文件系统用于存储大的编程模型用于大规模数Hadoop,Hadoop,规模数据,提供高容错性和高吞吐量的据的并行处理和分析将任务分解为数据访问Map和Reduce两个阶段YARN HadoopCommon的资源管理和作业调度系统提供了一组工具类和库函数方便Hadoop,,负责集群资源的管理和任务的调度执Hadoop组件的开发和部署行文件系统HDFS是生态系HDFSHadoop DistributedFile SystemHadoop统中的分布式文件存储系统它采用主从架构将数据分块存储在,多个数据节点上通过主节点协调管理提,NameNode HDFS供高性能、高容错、高可用的分布式文件存储服务是大数据处理,的基础平台有以下特点数据块复制、负载均衡、数据容错、元数据管HDFS:理、访问控制和配额管理等该系统允许应用程序高效地访问分布在大型集群上的海量数据编程模型MapReduce划分任务1将大规模数据任务拆分为小步骤并行处理2在多个节点上并行执行子任务合并结果3将各节点的输出结果汇总整合是一种分布式并行计算模型它将大规模数据处理任务划分为两个阶段和阶段负责将任务拆分成小步骤MapReduce,:Map ReduceMap并分配到集群节点进行并行计算阶段则负责将各节点的中间结果进行合并整理最终得到整个任务的输出这种编程模型简单高,Reduce,效非常适用于大数据并行处理场景,集群搭建Hadoop选择硬件1选择性能足够的服务器和存储设备安装软件2在每台服务器上安装软件包Hadoop配置集群3设置、等组件的配置文件HDFS YARN集群启动4启动集群并验证各组件正常工作集群的搭建包括选择性能合适的硬件设备、在每台服务器上安装软件包、配置、等核心组件、最后启动集群并验证Hadoop Hadoop HDFS YARN各组件正常工作这一过程需要耐心和专业知识确保集群可靠稳定运行至关重要,运行原理Hadoop分布式计算资源管理12将海量数据分布式存的资源管理器负Hadoop HadoopYarn储在集群节点上通过责集群资源的调度分配确保作,,MapReduce并行处理实现快业高效运行速计算容错机制数据可靠性34会自动检测和处理各文件系统采用数据块备HadoopHDFS种故障确保作业能可靠完成份复制保障数据高可靠性和可,,,提高整体可用性用性数据分布策略HDFS数据块分片数据冗余备份将文件划分为固定大小的会将每个数据块复制份HDFS HDFS3,数据块以提高并行处理效率默分别存储在不同的节点上以提高,,认块大小为128MB容错性机架感知调度负载均衡会根据数据块的位置选择会在节点间自动平衡数据HDFS HDFS就近的计算任务减少跨机架数据块分布避免个别节点负载过高,,传输数据块复制备份机制数据冗余自动复制副本放置策略容错机制为确保数据可靠性和高可用当有新的数据块写入或某个HDFS会根据机架、机柜、机一旦某个DataNode出现故性将每个数据块复制宕机时会房等拓扑信息合理放置数据障会自动在其他,HDFS DataNode,HDFS,,HDFS到集群中的多个DataNode自动在集群中其他块的副本,提高可靠性和读写DataNode上创建新的副本,上默认复制因子为3DataNode上创建新的副本性能确保数据不会丢失工作流程MapReduce输入数据MapReduce从HDFS中读取待处理的大数据任务MapMap函数处理输入数据,生成中间键值对与Shuffle Sort系统将Map输出的中间键值对重新分区和排序任务ReduceReduce函数处理排序后的键值对,产生最终输出输出结果MapReduce将处理结果写回到HDFS以供进一步使用任务执行过程Map数据分片1HDFS将输入数据划分为多个数据块,并将它们分散存储在集群各个节点上并行处理2Hadoop会为每个数据块启动一个Map任务,实现并行高效的数据处理键值对映射3Map函数将输入数据转换为key,value键值对,为下游Reduce任务做准备本地缓存4Map任务将中间结果缓存在本地磁盘,以加快后续Reduce任务的数据读取速度任务执行过程Reduce拆分输入数据1Reduce任务根据key值将不同的数据分到不同的Reduce实例阶段Shuffle2将任务产生的键值对数据按值进行分组和整理Map key数据归约与合并3函数对相同的数据进行归约处理并输出结果Reduce key写出结果4任务最终将处理结果写入或其他存储系统Reduce HDFS任务是编程模型中非常关键的一个步骤它主要负责将任务的输出数据进行合并和归约处理最终生成输出结果这个Reduce MapReduceMap,过程包括拆分输入数据、阶段、数据归约与合并以及写出结果等几个关键步骤Shuffle应用场景Hadoop大数据分析机器学习与人工智能12擅长处理大规模非结构化数据能够快速分析和提为复杂的机器学习和深度学习算法提供了理想的Hadoop,Hadoop取有价值的信息分布式计算平台日志和文本分析科学计算和基因组分析34可以高效地处理和分析各种类型的日志数据和非为基因组学研究和其他科学计算提供了强大的数Hadoop Hadoop结构化文本据处理能力容错机制Hadoop故障检测故障自动恢复通过心跳监测和任务跟会自动检测并重新调度Hadoop Hadoop踪来及时发现集群内部的各种硬失效的任务,确保数据和应用程件和软件故障序的高可用性数据复制备份基于投票的仲裁会将数据块复制到多个节的高可用通过投票HDFS NameNode点,提高数据的容错能力和可靠机制来实现,确保集群主控节点性不会出现单点故障任务调度策略Hadoop公平调度优先级调度容量调度截止时间支持基于公平性的任提供基于优先级的任支持基于容量的任务还支持基于作业截止Hadoop Hadoop Hadoop Hadoop务调度策略确保各个作业有平务调度可根据作业重要性给予调度可以限制每个用户或队列时间的调度策略确保重要作业,,,,等的资源分配不同的优先权的资源使用量能在期限内完成安全机制Hadoop身份验证数据加密授权控制审计日志提供多种安全认证机支持对和提供基于角色的访问记录所有用户对集群HadoopHadoopHDFS HadoopHadoop制如和确保作业输入输出数控制精细管理用户对的操作行为确保安全性和可审,Kerberos LDAP,MapReduce RBAC,,集群中各组件的身份识别据进行加密传输和存储,保护数集群资源的操作权限计性据安全监控管理Hadoop实时监控性能分析故障诊断报表输出Hadoop提供了强大的集群监监控数据可用于分析Hadoop监控工具能及时发现并定位集Hadoop提供丰富的报表功能,控工具,可实时查看节点状态、集群的性能瓶颈,并进行相应群中的异常情况,有助于快速可以定制化输出各种监控分析任务执行情况、内存/CPU利的优化调整排查和修复问题数据用率等关键指标性能优化Hadoop资源利用率最大化磁盘优化I/O通过调整、内存、磁盘等资采用等高速存储设备合理设CPU SSD,源参数合理分配资源确保置块大小和复制因子提高数据读,,,Hadoop集群高效运行写效率网络带宽优化压缩算法选择根据集群规模和应用特点,选择合根据数据特点选择合适的压缩算适的网络拓扑和网络设备提升数法在开销和网络带宽之间取,,CPU据传输速度得平衡数据压缩技术数据压缩的价值常见压缩算法压缩与编解码压缩数据处理数据压缩可以降低存储空间和Hadoop支持多种压缩算法,合理选择压缩算法非常关键,Hadoop可以直接处理压缩的网络带宽的使用,提高系统性如Gzip、Bzip
2、LZO、需要平衡压缩比、编解码速度数据,无需先解压这大大提能这对于大数据应用尤为重Snappy等,每种算法都有不以及CPU开销这对于高了数据处理的效率,减少了要,能够显著提高Hadoop等同的压缩比和压缩速度特点Hadoop集群的整体性能优化存储和网络传输开销大数据平台的效率非常重要资源管理器Yarn资源管理集群调度是一个通用的资源管理和作业调度系统它能够提供更加将集群资源抽象为容器并通过和Yarn,Yarn,ResourceManager灵活和可靠的资源管理NodeManager实现资源的动态调度和分配应用支持可扩展性可以支持多种应用程序框架如、、拥有良好的可扩展性能够适应不同规模的集群满足各Yarn,MapReduce SparkYarn,,Storm等,提高集群资源的利用效率种场景下的资源管理需求工作原理Yarn资源管理1负责集群资源的管理和调度Yarn任务监控2监控应用程序的运行状态容错机制3当节点发生故障时可以自动恢复任务调度4根据资源的可用性动态分配任务作为的资源管理和任务调度中心负责整个集群的资源管理和应用程序的生命周期控制它可以动态分配资源监控任务运行状态并在Yarn Hadoop,,,发生故障时自动恢复确保集群的高可用性,任务调度Yarn资源请求1应用程序向请求所需的计算资源如Yarn ResourceManager,内存和CPU任务分配2根据各应用程序的优先级和资源需求分ResourceManager,配合适的资源任务监控3监控各任务的执行情况并向NodeManager,报告资源使用状况ResourceManager资源隔离Yarn分组资源隔离资源配额限制资源抢占机制支持对集群资源进行分组隔离管理方可以为每个资源队列设置和内存当某个队列资源不足时可以中止正在Yarn,Yarn CPU,Yarn便不同应用或用户拥有独立的资源队列配额,确保资源公平合理分配,避免资源争抢运行的低优先级任务,以满足高优先级任务的资源需求与关系Spark Hadoop协作关系Spark与Hadoop为企业提供一体化的数据处理解决方案,彼此协作实现大数据分析和批处理数据处理Spark在Hadoop生态圈中充当计算引擎的角色,可以处理HDFS上存储的各种结构化和非结构化数据性能优势相比MapReduce的批处理模式,Spark基于内存计算的方式提供更快的数据处理速度和交互体验处理数据流程Spark获取数据源从各种数据源(如HDFS、Kafka、MySQL等)读取结构化或非结构化数据数据清洗与转换使用Spark的数据处理函数对数据进行清洗、格式化和转换数据分析与建模应用机器学习算法对数据进行分析和预测建模结果输出与存储将分析结果保存到数据库、数据仓库或展示于报表中编程模型Spark声明式编程弹性分布式数据集转换与行动执行引擎DAG采用声明式编程模型引入弹性分布式数据集提供丰富的转换操作符会自动构建计算逻辑的Spark,Spark Spark,Spark开发人员无需关注底层如何执RDD抽象,将数据分区存储如map、filter、join等,以有向无环图DAG,并通过优行,而是关注想要实现的功能在集群节点上,支持高效计算及行动操作符,如collect、化引擎高效执行等count使用案例Spark电商推荐系统金融风控分析实时日志分析图像识别可以快速处理海量电商的机器学习功能可以帮可以快速的深度学习能力可Spark SparkSpark StreamingSpark ML用户数据实时推荐个性化商品助金融机构快速识别风险提高处理日志数据帮助企业实时发以准确识别图像内容应用于图,,,,,提升客户转化率风控精度,降低损失现问题,提高运营效率像分类、目标检测等场景流式处理框架Storm实时计算高可扩展故障容忍多语言支持提供了一个可靠、高效集群可轻松扩展至数千具有出色的容错机制能支持、、Storm StormStorm,Storm JavaPython的流式数据处理引擎,能够以秒个节点,能够处理海量的实时数够确保数据在节点失败时不会Ruby等多种编程语言,可以灵级的延迟处理数据流据丢失活选择合适的语言工作原理Storm数据流处理1实时处理数据流接收来自消息队列的记录并进行快速分Storm,析和处理分布式架构2采用分布式架构将计算任务分散到集群中的多个节点上Storm,进行并行处理消息传输3通过节点协调管理集群节点执行Storm Nimbus,Supervisor具体任务提供服务发现,Zookeeper数据库NoSQL HBase数据模型高可扩展性12是一种基于具有高可扩展性可以HBase BigTableHBase,模型的分布式NoSQL数据库,处理海量结构化和非结构化数采用稀疏、多维、排序的映射据,支持动态扩容和负载均衡表作为数据存储模型高性能读写高可靠性34擅长处理大数据量的快基于的强大容错机HBase HDFS速随机读写操作提供亚秒级的制能够保证数据的高,,HBase响应时间可靠性和可用性数据模型HBase列族模型时间戳机制采用了列族的数据模型使用时间戳记录数据的版HBase HBase数据存储在行和列的交叉点上,本,支持对同一单元格存储多个版每个行都有一个唯一的行键,列本的数据则组织成列族稀疏存储可扩展性采用稀疏存储模型只存储的数据模型具有出色的可HBase,HBase有值的单元格对于空单元格则不扩展性可以轻松地处理海量的结,,占用存储空间构化和非结构化数据。
个人认证
优秀文档
获得点赞 0