Hadoop构架

简介:

大数据处理架构Hadoop
    1.概述
    1.1 Hadoop 简介
       hadoop是apache软件基金会旗下的一个开源分布式计算平台,为用户提供系统底层细节透明的分布式基础架构。hadoop基于java语言
    开发。跨平台性能好,可以部署在廉价的计算机集群中。hadoop核心是HDFS(分布式文件系统,解决了海量数据的存储)和mapreduce
    (解决了海量数据的处理)。hadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据段 处理能力。
       2008年4月,hadoop打破当时的世界记录成为最快排序1TB数据的系统,他采用901个节点构成的集群运算,排序时间只用209S。
    1.2 Hadoop的发展简史
        hadoop最初由apache Lucene项目的创始人Doug Cutting 开发的文本索引库。2002年的时候,Nutch项目(Lucene项目一部分)遇到
    了该框架无法扩展到拥有数十亿网页的网络。2003年的时候Google 发布了分布式文件系统GFS的论文,2004年Nutch项目模仿GFS开发了
    NDFS(HDFS前身)。2004年,谷歌公司有发布了MapReduce分布式编程思想的论文。2005年Nutch 项目开源了谷歌的MapReduce。
    至此。hadoop的两个核心HDFS和MapReduce ,受谷歌论文的影响,成就了hadoop在海量数据处理灵域的头羊领袖地位。2008年一月,
    Hadoop正式成为apache顶级的项目。
    1.3 hadoop 特性
        高可用性 : 采用冗余存储方式
        高效性:采用分布式存储和分布式处理,搞笑的处理PB级数据
        高可扩展性:hadoop设计目的:高效稳定运行在廉价的计算机集群上。
        高容错性:采用冗余数据存储方式。
        低成本:采用廉价的计算机集群。
        运行在linux平台。
        支持多种编程语言。
    1.4 hadoop的版本
        apache hadoop版本分为两代,第一代hadoop包含0.20x ,0.21.x和0.22.x三个版本。其中,0.20x最后演变成1.0.x,成为稳定版。
    0.21.x和0.22.x增加了HDFS HA(高可用)等重要特性。第二代hadoop包含0.23.x和2.x两个版本。
    第二代hadoop比第一代hadoop做了较大的改进:主要是拆分了MapReduce的职能,减轻了系统负载。增加了YARN资源调度框架,
    mapreduce 运行在YARN框架(负责系统资源的调度的基础上,不在负责系统资源的调度,只专心于分布式计算。做为hadoop另一个核心
    的HDFS也增加了 federation 和HA(高可用和热备份)(HDFS中的namenode需要高可用)
        apache的各个版本的比较:
        除了免费开源apache hadoop版本提供标准,还有一些商业化公司陆续退出hadoop版本。
        2014年进入上海的 cloudera 与apache hadoop功能同步部分开源,具有自主研发产品,impala、navigator
        hortonwork 与apache 功能同步也完全开源(是apache hadoop平台最大的贡献者。产品:Tez构架,下一代hadoop查询处理框架)
        MapR 在apache hadoop基础上修改优化了许多,也形成了自己的 产品。
        国产的有 星环。核心组件与apache 同步,底层较多,完全封闭闭源,也又自己的hadoop产品  Inceptor 、Hyperbase.

    1.41 hadoop在企业的应用构架分为3层:数据源的流向依次是数据来源 ==》大数据层==》访问层
        在大数据层以HDFS分布式存储为基础;分为三部分。分别为访问层的3个功能即:数据分析、数据实时查询、数据挖掘提供运算。
        其中大数据层的: mapreduce (hive, pig) 提供了离线数据分析
                        Hbase(solr redis) 提供了数据的实时查询
                        Mahout BI分析 完成 数据挖掘
    1.5 hadoop生态系统

wKioL1lP46Gyesz_AAByRpA4wXY505.png-wh_50

        1.51 HDFS 
            分布式文件系统(Hadoop Distributed File System HDFS)是Hadoop项目的核心。针对谷歌文件系统GFS的开源。
        具有处理超大数据、流式处理运行在廉价服务器等优点。在设计之初,吧硬件故障作为常态考虑,保证在部分硬件发生故障的时候
        仍能保障整体的可用性和可靠性。此外,HDFS放宽了POSIX(可移植操作系统接口)实现了流的形式访问系统数据。提高系统的
        吞吐率。
        1.52  HBase
            针对谷歌BigTable的开源实现。具有强大的非结构化数据存储能力。采用HDFS作为底层数据存储,与传统数据库基于列的存储
        方式不同,HBase是基于行的存储。可横向扩展。是一个提供高可靠性、高性能、可伸缩、实时读写、分布式的列式数据库。
        1.53 MapReduce
            针对谷歌的MapReduce的开源实现。是一种编程模型。高度抽象到两个函数上 Map 和 Reduce 。在不了解底层细节情况下开发
        并行应用程序,运行在廉价计算机集群,完成海量数据(大于1T)处理核心思想是:将数据分成若干独立的数据块。分发给一个节点
        管理下的各个分界点来共同并行完成,最后最后整合各个节点中间结果得到最终结果。
        1.54 Hive
            基于hadoop的数据仓库工具。针对hadoop文件中的数据集进行数据整理、特殊查询和分析存储。使用类SQL语言的Hive-QL
        快速实现简单MapReduce统计。
        1.55 Pig
            简化了Hadoop常见的工作任务。为hadoop程序提供一种更加接近SQL的接口。在大型数据集中搜索满足某个给定搜索条件的记
        录时,Pig 只需要编写一个简单的脚本在集群中自动并行处理与分发,而MapReduce需要编写一个单独程序。
        1.56 Mahout
            提供可扩展的机器学习领域经典算法。用于数据挖掘。
        1.57 Zookeeper
            针对谷歌Chubby的一个开源实现、是高效和可靠的协同工作系统,用于构建分布式应用,减轻分布式应用程序所承担的协调任务。
        1.58 Flume
            是 Cloudera提供的一个高可用的,高可靠的、分布式海量日志采集、聚合和传输的系统。支持日志系统中定制各类数据发送方,
        用于收集数据;同时,Flume 提供对数据进行简单处理并写到各种数据接受方的能力。
        1.59 Sqoop
            SQL-to-Hadoop的缩写。用于Hadoop和关系数据库间交换数据,通过Sqoop可以将数据从mysql 、Oracle、postgresql等关系
        型数据中导入Hadoop(可以导入HDFS、HBase和Hive)也可以将数据从hadoop导出到关系数据库。是数据迁移方便
        1.510 Ambari
            Web工具。支持Apache Hadoop 集群的安装、部署、配置和管理










本文转自 swallow_zys  51CTO博客,原文链接:http://blog.51cto.com/12042068/1941795,如需转载请自行联系原作者
相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
13天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
36 2
|
7月前
|
分布式计算 资源调度 Hadoop
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(下)
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(下)
|
7月前
|
分布式计算 资源调度 Hadoop
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(上)
Hadoop学习指南:探索大数据时代的重要组成——Hadoop运行模式(上)
|
机器学习/深度学习 存储 分布式计算
从Hadoop1.0到Hadoop2.0架构的优化和发展探索详解
从Hadoop1.0到Hadoop2.0架构的优化和发展探索详解
359 0
从Hadoop1.0到Hadoop2.0架构的优化和发展探索详解
|
存储 SQL 分布式计算
Hadoop 概述、Hadoop 发展历史、Hadoop 三大发行版本、Hadoop优势、Hadoop组成、Hadoop1.x、2.x、3.x区别、HDFS架构概述、大数据技术生态体系、推荐系统框架图
高可靠性、高扩展性、高效性、高容错性YARN架构概述、MapReduce架构概述、HDFS、YARN、MapReduce三者关系、1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。 2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。 3)Secondary NameNode(2nn):每隔一段时间对NameNode元数据备份。MapReduce将计算过程分为两个阶段:
Hadoop 概述、Hadoop 发展历史、Hadoop 三大发行版本、Hadoop优势、Hadoop组成、Hadoop1.x、2.x、3.x区别、HDFS架构概述、大数据技术生态体系、推荐系统框架图
|
分布式计算 资源调度 Hadoop
Hadoop02【架构分析】
Hadoop1.0即第一代Hadoop,指的是版本为Apache Hadoop 0.20.x、1.x或者CDH3系列的Hadoop,内核主要由HDFS和MapReduce两个系统组成,其中MapReduce是一个离线处理框架,由编程模型(新旧API)、运行时环境(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)三部分组成。
Hadoop02【架构分析】
|
存储 分布式计算 资源调度
从 hadoop 1.0 到 hadoop 2.0 的演化
Hadoop 1.0 到 Hadoop 2.0 的演化是怎样的呢,从中我们又能学到什么。。。
1304 0
|
SQL 存储 分布式计算
|
分布式计算 Java Hadoop
Hadoop体系结构中的服务解决介绍
翻了一下最近一段时间写的分享,DKHadoop发行版本下载、安装、运行环境部署等相关内容几乎都已经写了一遍了。虽然有的地方可能写的不是很详细,个人理解水平有限还请见谅吧!我记得在写DKHadoop运行环境部署的时候,遗漏了hadoop服务角色的内容,本篇特地补上这部分内容吧,不然总觉得不舒服。
2486 0
|
存储 资源调度 分布式计算

相关实验场景

更多