zoukankan      html  css  js  c++  java
  • Map Reduce

    MapReduce
    客户端程序提交job之后,就会退出,那么如何判断mr程序有没有执行成功呢?
    1、到yarn的网页上看 8088端口;
    2、可以让客户端程序不退出,等待mr程序运行完成以后,再退出
     具体实现,将客户端程序中 job.submit() 换成 job.waitForCompletion(true)  //阻塞方法
     此方法,必须有return才会停止,客户端程序才会退出,
     在此之间客户端程序会在客户端的机器上启动一个服务监听一个端口
     然后与mrAppMaster进行通信,实时得到mr执行进度
     所以,此时也可以得到一个返回值,如果是true,证明mr程序运行成功,如果是false则执行失败
     boolean res = job.waitForCompletion(true);
     system.exit(res ? 0:1)
    MR 程序的两种运行模式
    分布式运行模式:必须在yarn平台上
    核心特点:
     整个运行流程由MRAppMaster控制;
     每一个task(maptask,reducetask)以及MRAppMaster,都是以独立的进程在nodemanager所提供的容器中执行;
    本地运行模式:在本地以单进程多线程方式运行
    核心特点:整个运行流程由LocalJobRunner控制,每一个task(maptask,reducetask )都以线程的方式执行
    决定mr程序运行模式的关键:
     jobclient端的参数:mapreduce.framework.name = local?yarn?
     也可以在jobclient所运行的机器的Hadoop配置文件(mapred-site.xml)中配置
    注意:如果以分布式模式运行MR,则你所访问的文件系统一定是HDFS
     如果是本地文件系统运行MR,则既可以是HDFS,也可以是本地的文件系统

  • 相关阅读:
    Lazarus教程 中文版后续给出
    QBASIC教程
    Object Pascal中文手册 经典教程
    Pascal 基础教程
    Delphi中的关键字与保留字
    Pascal数据结构与算法
    Pascal小游戏 贪吃蛇
    Pascal小游戏 俄罗斯方块怀旧版
    Pascal ASCII和文本的转换
    IDEA安装问题解决
  • 原文地址:https://www.cnblogs.com/beiyi888/p/10034557.html
Copyright © 2011-2022 走看看