Hadoop背景

作者: 阿太哥 | 来源:发表于2018-01-03 21:55 被阅读61次

    hadoop是apache旗下开源软件平台

    提供服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理

    hadoop核心组件有:

    HDFS :分布式文件系统Hadoop distributed filesystem

    YARN 运算资源调度系统

    MapReduce 分布式运算编程框架

    广义上说,hadoop是指一个更广泛的概念,hadoop生态圈

    产生背景

    hadoop最早起源Nutch,它的设计目标是构建一个大型的全网搜索引擎,包括网页抓取,索引,查询等功能,但由于庞大的数据量,上亿级的,遇到了可扩展性问题

    2003,04年谷歌发表了两篇论文成为可行性解决方案

    -- 分布式文件系统(GFS) 用于处理海量网页存储

    -- 分布式计算框架mapreduce 用于处理海量网页的索引计算问题

    Nutch开发人员完成了相应的开源实现HDFS和mapreduce,并从Nutch中剥离成为独立项目HADOOP

    直到2008年1月 hadoop成为Apache顶级项目,迎来了它的快速发展。

    hadoop的出现,解决了需要大量计算的瓶颈,例如机器学习,人工智能,在单机时代,他们受限于庞大的计算。

    hadoop在大数据,云计算中的位置和关系

    云计算是分布式计算,并行计算,网格计算,多核计算,网络存储,虚拟化,负载均衡等传统计算机技术的互联网技术的融合。借助laaS(Infrastructure基础设施即服务),PaaS(Platform平台即服务),SaaS(software软件即服务)等业务,将强大的计算能力提供给终端用户.

    云计算的两大底层技术:“虚拟化”,“大数据技术”

    大数据则是云计算的PaaS层解决方案之一

    Hadoop生态圈 你需要了解

    hadoop 分布式集群平台搭建

    分布式文件系统HDFS的原理理解及使用

    分布式运算框架mapreduce的原理理解及编程

    Hive 基于大数据技术(文件+运算框架)的SQL数据仓库工具

    HBASE 基于hadoop的分布式海量数据库

    Mahout : 基于mapreduce/spark,flink等分布式运算框架的机器学习算法库

    Oozie : 工作流调度框架

    Sqoop:数据导入导出工具

    Flume:日志数据采集框架

    Shell/python等脚本语言的开发能力

    Zookeeper: 分布式协调服务基础组件

    hadoop成功运用于网站日志分析,用户画像等。。

    分布式应用系统基本是 利用多节点共同协作完成一项或多项具体业务功能的系统

    hadoop集群搭建

    hadoop集群的搭建包括两个集群,HDFS集群,YARN集群,两者逻辑上分离,物理上常连在一起

    HDFS集群:负责海量数据的存储,集群中角色主要有NameNode/DataNode。由一个NameNode和多个DataNode组成,namenode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作,datanode管理存储数据。

    YARN集群:负责海量数据运算时的资源调度,集群总的角色主要有ResouceManager/NodeManager(mapreduce其实是一个应用程序开发包)

    mapreduce框架是由一个单独运行在主节点上的jobTracker和运行在每个从节点的taskTracker共同组成的,主节点负责调度构成一个作业的所有任务,这些任务分布在不同从节点上,主节点监控他们的执行情况并重新分发上一个失败的任务。hdfs和mapreduce共同组成了hadoop分布式系统体系结构的核心,hdfs在集群上实现分布式文件系统,mapreduce在集群上实现了分布式计算和任务处理。在hdfs基础上实现了任务的分发,跟踪,执行等工作。并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务。

    相关文章

      网友评论

        本文标题:Hadoop背景

        本文链接:https://www.haomeiwen.com/subject/mriknxtx.html