大数据总结


1.hadoop集群可以运行的三种模式
    本地模式
    分布式集群模式
    伪分布式集群模式
2.单机模式中的注意点
    单机模式中不存在守护进程,所有东西都运行在一个jvm上,使用的是本地文件系统
3.伪分布式注意点
    伪分布式所有守护线程都在一台机器上
4.hadoop的核心配置
    hdfs-site.xml
    core-site.xml
    mapred-site.xml
    yarn-site.xml
5.hadoop集群中都需要启动那些进程
    NameNode 负责管理文件系统的名称空间,维护所有文件系统中的元数据(主要通过两个文件fs.image和edits文件)
    SecondaryNameNode 提供对namenode命名空间周期检查和清理任务,负责定期将fs.image和edits文件合并,保存合并后的镜像文件的备份,当namenode宕机后,可以通过备份文件进行恢复数据
    DataNode 根据namenode或者客户端的调度存储和检索文件,定期向namenode同步存储的块的列表
    ResourceManager
    NodeManager
    MRAppMaster 每个job一个进程,跟踪job的运行情况,主要是向MR申请资源
    YarnChild 跟job的生命周期相同,运行具体的map/reduce task
6.hive中内部表和外部表区别
    内部表:删除时,数据也一起删了
    外部表:导入数据时,数据并没有移动到自己的数据仓库目录下,数据可以保存在外部目录下,删除时,仅删除外部表的元数据,不删除外部目录下的文件
7.谈谈你对yarn的理解
    yarn是hadoop的新的资源调度器。主要是创建一个全局的ResourceManager和若干个针对应用程序的MRAppMaster
    ResourceManager负责全局资源调度,负责启动和监控MRAppMaster
    MRAppMaster主要是向ResourceManager申请资源,并和NodeManager协同工作运行各个任务
    NodeManager
8.yarn应用提交的过程分析
     1)客户端向resourcemanager提交应用,并申请一个mrappmaster
    2)resourcemanager找到一个可以运行container的nodemanager,并在这个container中启动一个mrappmaster
  3)mrappmaster启动的时候向resourcemanager进行注册,注册之后客户端就可以通过resourcemanager查询自己mrappmaster的详细信息,之后就可以和自己的mrappmaster直接通信
    4)container被成功分配之后,mrappmaster通过向resourcemanager发送信息来启动container
    5)应用程序的代码在container中运行,并把运行的进度、状态发送mrappmaster
    6)任务运行期间,客户端主动和mrappmaster交流获取任务的运行状态、进度等信息。
   7)一旦任务执行完成后,mrappmaster向resourcemanager申请取消注册,然后关闭,用到的所有container也归还给系统。
9.mapreduce中container和partition的区别
    partition:主要是分割map每个节点的结果,按照key分别映射给不同reduce,也就是根据key或者value以及reduce的数量来决定当前的这对map的输出应该交给那个reducetask执行处理。默认的partitioner是hashpartitioner
    container:作用就是对map端产生的数据先做一次合并,减少传输到reduce端的数据,本质上是一个reduce,其输入和输出都必须是map端的输出,也即reduce端的输入。

待补充中。。。

猜你喜欢

转载自my.oschina.net/riseee/blog/1821963
今日推荐