大数据总结
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转换成一组操作符
评论