当前位置: 首页 > news >正文

郑州做网站公司有多少钱山东网站建设口碑好

郑州做网站公司有多少钱,山东网站建设口碑好,个人做收费网站,wordpress标签搜索引擎#x1f407;明明跟你说过#xff1a;个人主页 #x1f3c5;个人专栏#xff1a;《大数据前沿#xff1a;技术与应用并进》#x1f3c5; #x1f516;行路有良友#xff0c;便是天堂#x1f516; 目录 一、引言 1、Hadoop简介 2、Hadoop生态系统概览 二、Hadoo… 明明跟你说过个人主页 个人专栏《大数据前沿技术与应用并进》 行路有良友便是天堂 目录 一、引言 1、Hadoop简介 2、Hadoop生态系统概览 二、Hadoop Distributed File System (HDFS) 深度解析 1、HDFS核心概念 2、HDFS工作机制 3、HDFS的优势与局限 三、Yet Another Resource Negotiator (YARN) 架构剖析 1、YARN诞生背景与意义 2、YARN架构概览 3、YARN工作流程 4、YARN应用场景 四、MapReduce编程模型与实现机制 1、MapReduce基本概念 2、MapReduce 工作流程 一、引言 1、Hadoop简介 Hadoop 是一个开源的分布式计算框架主要用于处理和存储大量数据。它由 Apache 软件基金会开发基于 Google 的 MapReduce 和 Google 文件系统 (GFS) 的理念设计。Hadoop 提供了一种可扩展、容错的方式来处理大规模数据集使得用户能够在廉价的硬件上进行分布式计算。 2、Hadoop生态系统概览 Hadoop 生态系统是围绕 Hadoop 分布式计算框架所建立的一系列工具和技术的集合。这些工具涵盖了数据存储、数据处理、数据管理、数据分析等多个方面旨在帮助用户处理和分析大规模数据集。 1. 数据存储与管理 HDFS (Hadoop Distributed File System): Hadoop 分布式文件系统用于存储大规模数据具备高容错性和高吞吐量。 HBase: 一个基于列存储的分布式数据库适合处理大规模结构化数据支持实时读写。 Hive: 一个数据仓库工具可以将结构化数据映射为表支持使用类似 SQL 的查询语言 HiveQL 进行查询。 HCatalog: Hive 的元数据管理服务帮助不同 Hadoop 工具如 Pig、MapReduce之间共享数据元数据。 HCFS (Hadoop Compatible File System): 支持与 HDFS 兼容的第三方文件系统如 Amazon S3。 2. 数据处理 MapReduce: Hadoop 的核心分布式计算框架负责大规模数据的并行处理。 YARN (Yet Another Resource Negotiator): 资源管理框架负责集群资源的分配和任务调度支持多种计算模型。 Tez: 一种基于 DAG有向无环图的计算框架作为 MapReduce 的更高效替代方案。 Spark: 一个内存计算框架比 MapReduce 更快支持实时数据处理和复杂计算任务。 Pig: 一个数据流处理工具使用 Pig Latin 语言编写数据分析任务适合处理非结构化和半结构化数据。 Flink: 一个分布式流处理框架支持流式和批处理数据的实时计算。 3. 数据分析与查询 Hive: 前面提到的 Hive 也属于数据分析工具可以通过 SQL 查询大规模数据。 Impala: 由 Cloudera 开发的一个分布式 SQL 查询引擎提供快速的查询能力适合交互式分析。 Drill: 一个低延迟查询引擎支持各种数据源如 HDFS、HBase、NoSQL 等的查询。 Phoenix: 用于 HBase 的 SQL 查询引擎支持低延迟的查询操作。 Kylin: 一个分布式数据仓库引擎支持多维分析和 OLAP 查询适合大规模数据集的分析。 4. 数据流处理 Storm: 实时流处理框架适合低延迟处理和分布式计算任务。 Kafka: 一个分布式消息队列系统支持高吞吐量的消息发布与订阅广泛用于实时数据流处理。 Flink: 既支持流式处理又支持批处理的数据处理框架提供低延迟的实时计算。 二、Hadoop Distributed File System (HDFS) 深度解析 1、HDFS核心概念 1. 分布式架构: HDFS 是一个主从master-slave架构由一个NameNode主节点和多个DataNode数据节点组成。NameNode 负责管理文件系统的元数据包括文件的路径、块block的位置等。DataNode 负责存储实际的数据块并定期向 NameNode 报告其存储的块信息。 2. 块存储Block Storage: 在 HDFS 中文件被划分为多个块默认大小为 128 MB并将这些块分布式地存储在不同的 DataNode 上。每个块会被复制多个副本默认是 3 份并存储在不同的 DataNode 上以提供容错能力。 3. 高容错性: HDFS 通过数据块的多副本机制来提供容错能力。当一个 DataNode 发生故障时系统可以从其他副本中恢复数据确保数据的高可用性。NameNode 持有文件系统的元数据并将其存储在本地磁盘和定期保存的镜像文件中以防止数据丢失。 4. 高吞吐量: HDFS 优化了大规模数据的顺序读写操作适合大数据量的批处理任务如 MapReduce。通过将数据分布在多个 DataNode 上并行地进行数据读写操作提高了系统的整体吞吐量。 5. 数据本地性: HDFS 充分利用了数据本地性原则即将计算任务尽量安排到存储目标数据的节点上以减少网络带宽的消耗提高处理效率。 6. 流式数据访问Streaming Data Access: HDFS 适用于一次写入、多次读取的场景。数据写入后一般不会被修改append-only 模式支持数据的流式访问这与传统的文件系统有所不同。 2、HDFS工作机制 1. 文件写入过程: 当一个文件被写入 HDFS 时它会被切分成多个块。NameNode 会为这些块指定存储位置并将位置信息记录到元数据中。客户端将数据块顺序写入到指定的 DataNode并根据复制策略将块的副本存储到不同的 DataNode 上。 2. 文件读取过程: 客户端向 NameNode 请求读取文件时NameNode 会返回文件块的位置列表。客户端根据这个列表并行地从多个 DataNode 读取数据块从而提高读取速度。 3. 数据再平衡Data Rebalancing: HDFS 通过 DataNode 的自动再平衡机制确保数据块均匀分布在集群的所有节点上以提高系统的存储利用率和性能。 4. 故障恢复: 当一个 DataNode 发生故障时NameNode 会检测到并安排在其他健康的 DataNode 上复制丢失的块从而恢复数据的完整性。 3、HDFS的优势与局限 优势: 容错性通过数据块的多副本机制HDFS 提供了较高的容错能力。可扩展性HDFS 可以轻松地扩展支持成千上万的节点和数 PB 级的数据存储。高吞吐量适合大规模数据处理任务优化了顺序读写操作。 局限: 低延迟访问HDFS 主要设计用于高吞吐量的大规模批处理场景不适合低延迟的数据访问需求。小文件问题HDFS 不擅长处理大量小文件因为 NameNode 的内存中存储着文件系统的元数据大量的小文件会占用过多的元数据存储空间。  三、Yet Another Resource Negotiator (YARN) 架构剖析 1、YARN诞生背景与意义 YARNYet Another Resource Negotiator是 Hadoop 生态系统中的一个关键组件其主要目的是为 Hadoop 集群中的资源管理和任务调度提供支持。 1. MapReduce 的局限性: Hadoop 最初是以 MapReduce 为核心的计算框架这种设计虽然适合处理批量数据但在处理其他类型的计算任务如实时处理、图计算、机器学习等时存在局限性。MapReduce 模型的硬编码限制了它的灵活性使得其在面对不同的计算需求时难以扩展和优化。 2. 资源管理的挑战: 早期的 Hadoop 版本如 Hadoop 1.x将资源管理和任务调度与计算模型MapReduce紧密耦合在一起导致资源管理不够灵活且难以扩展。集群中的资源管理和任务调度通常由单一的 JobTracker 负责这种集中式的管理方式限制了集群的可扩展性和可靠性。 3. 需求变化: 随着大数据技术的发展企业和研究机构对集群资源的管理需求变得越来越复杂需要支持多种计算框架如 Spark、Tez、HBase、Storm 等而不仅仅是 MapReduce。对于大规模数据处理的需求不断增长需要一种更为灵活和可扩展的资源管理解决方案来适应不同的应用场景。 2、YARN架构概览 1. ResourceManagerRM: 职责: 负责整个集群的资源管理和调度。ResourceManager 主要包括两个部分 Scheduler: 负责将资源分配给不同的应用程序。Scheduler 按照资源请求、队列优先级和其他调度策略进行资源分配。常见的调度策略包括容量调度器Capacity Scheduler和公平调度器Fair Scheduler。ResourceManager Core: 管理集群的整体资源跟踪每个节点的资源使用情况处理来自 ApplicationMaster 的资源请求。 2. NodeManagerNM: 职责: 负责单个节点的资源管理和任务监控。NodeManager 主要包括两个部分 ResourceManager Client: 向 ResourceManager 注册节点的资源信息并处理从 ResourceManager 收到的任务请求。Container Management: 启动和管理在本地节点上运行的容器并监控容器的资源使用情况。 3. ApplicationMasterAM: 职责: 每个应用程序如 MapReduce、Spark 作业等有一个独立的 ApplicationMaster 负责管理其生命周期。ApplicationMaster 负责 向 ResourceManager 请求资源。跟踪应用程序的任务进度协调任务的执行。处理应用程序的失败恢复和重新调度。 独立性: ApplicationMaster 是应用程序级别的并且可以根据实际需要动态请求资源和调度任务。  4. Container: 职责: 是在节点上运行的资源单位。每个容器分配了一定的 CPU、内存和磁盘资源用于执行任务。容器的管理由 NodeManager 负责包括启动、监控和资源回收。 3、YARN工作流程 1. 应用程序提交 应用程序提交: 用户提交应用程序如 MapReduce、Spark 作业到集群。提交过程通常包括定义作业的需求资源、执行环境等和作业的配置参数。 启动 ApplicationMaster: 提交的应用程序包含一个 ApplicationMaster 的实例该实例负责管理应用程序的整个生命周期。提交请求被传递给 ResourceManager。 2. 资源申请与分配 ResourceManager 资源管理: ResourceManager 负责集群资源的全局管理包括资源的分配和调度策略。ResourceManager 接收来自 ApplicationMaster 的资源请求并决定是否满足这些请求。 Scheduler 调度: ResourceManager 的 Scheduler 根据调度策略如容量调度器或公平调度器来决定资源的分配。Scheduler 考虑资源的可用性、队列优先级和其他调度策略来分配资源。 分配容器: ResourceManager 将资源分配给 ApplicationMaster通常以容器的形式分配给应用程序。每个容器包括 CPU、内存和磁盘资源并在 NodeManager 上启动。 3. 任务执行 启动容器: NodeManager 接收到 ResourceManager 的指令在本地节点上启动分配的容器。ApplicationMaster 在容器中启动任务并执行作业的计算。 任务管理: ApplicationMaster 负责管理任务的执行协调多个任务之间的工作处理任务失败和恢复。ApplicationMaster 跟踪每个任务的状态并根据需要调整资源请求。 任务监控: NodeManager 负责监控容器的资源使用情况并将状态报告返回给 ResourceManager 和 ApplicationMaster。监控信息包括容器的资源使用、健康状况等。 4. 资源释放与回收 任务完成: 当任务完成时容器释放其占用的资源。NodeManager 将完成的信息报告给 ResourceManager。 资源回收: ResourceManager 更新资源的可用状态将释放的资源重新纳入集群资源池。这些资源可以被其他应用程序请求和使用。 5. 应用程序完成 完成报告: ApplicationMaster 在任务完成后向 ResourceManager 报告作业的最终状态包括成功、失败或其他状态。ApplicationMaster 处理应用程序的最终清理和资源释放。 结果存储: 应用程序的结果可以被存储在 HDFS 或其他存储系统中以供后续使用。 结束生命周期: ApplicationMaster 完成其生命周期释放所占用的资源清理相关的运行状态。 4、YARN应用场景 YARNYet Another Resource Negotiator作为 Hadoop 的资源管理和调度平台为各种计算框架和应用程序提供了高效的资源管理。 1. 大数据处理 MapReduce 应用场景: 传统的 MapReduce 作业仍然是 YARN 的核心应用之一。适用于批处理、数据挖掘和数据分析。示例: ETL提取、转换、加载作业、日志分析、数据统计等。 Spark 应用场景: Spark 是一个通用的数据处理引擎支持批处理、流处理、机器学习和图计算。示例: 实时数据分析、图计算任务、机器学习训练等。 2. 实时数据处理 Apache Storm 应用场景: 处理实时流数据适用于需要低延迟的应用场景。示例: 实时数据监控、实时日志分析、点击流分析等。 Apache Flink 应用场景: 提供强大的流处理能力支持有状态流处理和事件时间处理。示例: 实时数据分析、实时指标计算、流数据的复杂事件处理等。 3. 交互式查询 Apache Hive 应用场景: 为 Hadoop 提供 SQL 查询能力适用于需要交互式数据查询和分析的场景。示例数据仓库查询、业务智能分析、数据报表生成等。 Apache Impala 应用场景: 提供低延迟的 SQL 查询能力适用于对数据进行快速查询的应用。示例: 实时数据分析、OLAP 查询等。 四、MapReduce编程模型与实现机制 1、MapReduce基本概念 1. Map 阶段 任务在 Map 阶段数据被分割成若干块通常是文件的分块然后由多个 Map 任务并行处理。每个 Map 任务将输入数据键-值对处理成中间结果键-值对。输入原始数据通常以键-值对的形式提供给 Map 任务。例如输入数据可以是一个文本文件其中每一行是一个键值对如行号和行内容。处理Map 函数会遍历这些键值对并生成一组中间键值对。这些中间键值对会被整理通过 Shuffle 和 Sort 过程以准备进入 Reduce 阶段。 2. Shuffle 和 Sort 任务在 Map 和 Reduce 之间MapReduce 框架会进行一个 Shuffle 和 Sort 过程。这个过程将 Map 输出的中间结果根据键进行分组和排序以便将相同键的中间结果传递到同一个 Reduce 任务。目的确保每个 Reduce 任务只处理一种键的数据从而有效地进行聚合操作。 3. Reduce 阶段 任务Reduce 阶段将处理 Shuffle 和 Sort 阶段输出的中间结果。Reduce 任务接收一组键以及与之对应的一系列值然后对这些值进行聚合操作。输出Reduce 函数将这些聚合的结果通常也是键-值对写入最终的输出文件中。 2、MapReduce 工作流程 1. 数据切分 输入数据被切分成多个块Splits每个块由一个 Map 任务处理。 2. Map 任务 每个 Map 任务将输入块处理为一组中间的键-值对并将这些中间结果写入到本地磁盘上。 3. Shuffle 和 Sort Map 任务的中间结果被读取并根据键进行排序。相同的键会被分配到同一个 Reduce 任务进行处理。 4. Reduce 任务 每个 Reduce 任务从 Shuffle 和 Sort 阶段读取中间结果对其进行聚合处理并将最终结果写入输出文件。 每一次的分享都是一次成长的旅程感谢您的陪伴和关注。希望这些关于大数据的文章能陪伴您走过技术的一段旅程共同见证成长和进步 让我们一起在技术的海洋中探索前行共同书写美好的未来
http://www.dnsts.com.cn/news/221468.html

相关文章:

  • 反腐网站建设的目的wordpress 页面 父级
  • 简述网站制作基本流程网站广告动图怎么做
  • 网站安装系统怎么安装教程视频智能产品创新设计
  • 陕西省住房和建设厅官方网站大航母网站建设在哪里
  • 做个网站需要多少钱?有没有旧装修要拆wordpress 4.4.1漏洞
  • 网站建设的新发展佛山专业网站制作公司
  • 网站建设要多少钱怎样餐饮网站开发背景
  • 做液氮冰淇淋店网站好的网站设计网站
  • 网站正在建设中模板 html服务网络是什么意思
  • html网站后台管理系统wordpress h5播放器
  • 网站源码下载网站药业集团网站建设方案
  • 网站建设 网络科技公司去黄山旅游攻略和费用是多少
  • 广州市规划建设局网站网站建设费是什么
  • 天津河北做网站的公司怎么免费创建网页
  • 南京定制网站建设公司wordpress 发表文章插件
  • 旅游网站界面设计抚州建设网站的公司
  • 自己搭建的网站可以收费吗做360网站官网还是百度知道
  • 建网站找谁有个网站可以学做ppt
  • 没有域名能做网站吗wordpress调用当前分类
  • 阿里云智能logo设计网站员工怎么登录企业邮箱
  • 深圳找工作的网站网络公司做的网站被告图片侵权
  • 域名 备案 没有网站吗wordpress网站登录被篡改
  • 电子商务网站建设哪好深圳优化排名公司
  • 网站如何做搜索功能的社区网站做的比较好的有哪些
  • 门户网站html下载厦门网站建设网络推广
  • 广东省城乡建设厅投诉网站首页免费精品网站模板
  • 美食网站要怎么做wordpress注册页面美化
  • 杭州网站建设方案书商城网站建设公司排行
  • 网站建设款如何入账视频网页制作教程
  • 0元建站平台现在百度推广有用吗