大数据总结

用户头像
周冬辉
关注
发布于: 2020 年 09 月 02 日

1、大数据发展史

今天我们常说的大数据技术,其实起源于Google在2004年前后发表的三篇论文,也就是我们经常听到的大数据“三驾马车”,分别是分布式文件系统GFS、大数据分布式计算框架MapReduce和NoSQL数据库系统BigTable搜索引擎主要就做两件事情,一个是网页抓取,一个是索引构建和排序,而在这个过程中,有大量的数据需要存储和计算。这“三驾马车”其实就是用来解决这个问题的,也就是,一个文件系统、一个计算框架、一个数据库系统。浏览下日adoop的代码,这个纯用Java编写的软件其实并没有什么高深的技术难点,使用的也都是一些最基础的编程技巧,也没有什么出奇之处,但是它却给社会带来巨大的影响,甚至带动一场深刻的科技革命,推动了人工智能的发展与进步。





2、DHFS

设计目标

1)大文件

2)加快数据访问速度

3)节点失效处理

DHFS架构



3、mapreduce

目标:

  • 处理海量数据(>1丁B)

  • 上百上千CPU实现并行处理

简单地实现以上目的

  • 移动计算比移动数据更划算

分而治之(Divide and Conquer )



它由称为map和reduce的两部分用户程序组成,然后利用框架在计算机集群上面根据

需求运行多个程序实例来处理各个子任务,然后再对结果进行归并。







4、Yarn

下一代MapReduce框架的名称。

不再是一个传统的MapReduce框架,甚至与MapReduce无关。

一个通用的运行时框架,用户可以编写自己的计算框架,在该运行环境中运行。





Yarn包括两个部分:

一个是资源管理器(Resource Manager),一个是节点管理器(Node Manager)。

这也是Yarn的两种主要进程:ResourceManager进程负责整个集群的资源调度管理,通常部署在独立的服务器上;NodeManager进程负责具体服务器上的资源和任务管理,在集群的每一台计算服务器上都会启动,基本上跟日DFS的DataNode进程一起出现。



资源管理器又包括两个主要组件调度器和应用程序管理器。

调度器其实就是一个资源分配算法,根据应用程序(Client)提交的资源申请和当前服务器集群的资源状况进行资源分配。Yarn内置了几种资源调度算法,包括Fair Scheduler、Capacity Scheduler等,你也可以开发自己的资源调度算法供Yarn调用。

Yarn进行资源分配的单位是容器(Container ),每个容器包含了一定量的内存、CPU等计算资源,默认配置下,每个容器包含一个CPU核心。容器由NodeManager进程启动和管理,NodeManger进程上容器的运行状况并向ResourceManger进程汇报

应用程序管理器负责应用程序的提交、监控应用程序运行状态等。应用程序启动后需要在集群中运行一个ApplicationMaster, ApplicationMaster也需要运行在容器里面。每个应用程序启动后都会先启动自己的ApplicationMaster,由ApplicationMaster根据应用程序的资源需求进一步向ResourceManager进程申请容器资源,得到容器以后就会分发自己的应用程序代码到容器上启动,进而开始分布式计算。ee



5、Hlive



  • 操作符(Operator)是Hive的最小处理单元

  • 每个操作符处理代表HDFS操作或MR作业

  • .编译器把Hive SQL转换成一组操作符





用户头像

周冬辉

关注

还未添加个人签名 2020.04.14 加入

还未添加个人简介

评论

发布
暂无评论
大数据总结