文档章节

Hadoop 之 RM初始化、远程调试

d
 double大宝
发布于 2017/05/03 22:09
字数 474
阅读 73
收藏 0

JAVA进程、核心的Hadoop类
    1.HDFS:数据存储
        org.apache.hadoop.hdfs.server.namenode.NameNode
        org.apache.hadoop.hdfs.server.datanode.DataNode
        org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
        
    2.YARN:MapReduce 作业的调度执行
        org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
        org.apache.hadoop.yarn.server.nodemanager.NodeManager

初始化:
    1.RM 收到submitApp()后将请求转给调度器Yarn scheduler
    2.scheduler分配container
    3.RM在该container启动app master , 并交由节点管理器NM管理。
    4.app master创建多个记录对象跟踪job进度,它将接受task的进度或完成报告。
    5.检索输入切割 inputsplit
    6.为每个split创建map任务和一定数量的reduce任务(setNumRed..()),此时分配jobid
    7.app master判断如何运行task,如果是小job,app master会在同一节点jvm中运行
        uber task就是指这一点,因为开启新容器分配和运行程序更耗费资源。
        小job的衡量标准是map<10,只有reduce=1,而且input size < block size。这些值可以修改。
             mapreduce.job.ubertask.maxmaps
             mapreduce.job.ubertask.maxreduces
             mapreduce.job.ubertask.enable
    8.最后,App master调用OutputCommitter的setupJob()方法,默认是FileOutputCommimter,主要是创建output目录和临时工作目录。


远程调试:
    1.远程服务器启动jvm的远程调试:
        a.运行java程序时,直接指定参数 java -xxxx -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000
        b.先设置环境变量,再启动jvm,直接变环境附加在jvm启动参数之后
            export xxx="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000"
            java yyy $xxx
        c.${hadoop_home}\bin\yarn
            $YARN_RESOURCEMANAGER_OPTS
    2.编写脚本
        enable_yarn-remotedebug.sh

export YARN_RESOURCEMANAGER_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000"

    
    3.执行脚本,source环境变量生效
    4.启动资源管理器RM:start-yar.sh
    5.启动多个NM,但是RM暂停在监听8000端口的过程中
    6.到客户端中设置断点,连接到远程的RM程序,
        a.在RM的main函数设置断点
        b.在类上选择run--> debug configuration...->new remote deug..->socket attach-> 指定远程服务器ip和端口 ip:xx | port:8000
        c.点击debug

© 著作权归作者所有

d
粉丝 2
博文 86
码字总数 43479
作品 0
贵港
私信 提问
Hadoop 2.0 Yarn代码:心跳驱动服务分析

当RM(ResourcesManager)和NM(NodeManager)陆续将所有模块服务启动,最后启动是NodeStatusUpdater,NodeStatusUpdater将用Hadoop RPC远程调用ResourcesTrackerService中的函数,进行资源是初始...

超人学院
2015/05/28
76
0
Eclispe远程调试sqoop

利用eclipse远程调试功能,实现sqoop 本地环境集成: 利用cygwin部署 0、将sqoop-1.4.2放在/home/Administrator/hadoop 1、sqoop中设置HOMEHOME: 修改SQOOPHOME/bin/configure-sqoop :HAD...

超人学院
2015/06/03
354
0
shell删除创建时间大于10天的所有文件

清理文件脚本(已经测试通过): find /tmp/hadoop-flume/s3 -mtime +10 -exec rm -rf {} ; crontab脚本: #clear 0 17 5 cd /home/data/ sh clear_tmp.sh 如果只有一个结点只需要再那个结点...

rootliu
04/22
27
0
hadoop 开发环境搭建

hadoop 开发环境搭建 (ubuntu + idea ) @(hadoop笔记)[idea 开发环境] 基于ubuntu 和 idea 搭建 hadoop开发环境,其实是搭建MR的开发环境。这里简单说一下为什么采用idea,就因为一点,ide...

OttoWu
2016/12/13
98
0
Hadoop 生态圈介绍

简介 Hadoop 是一个能够处理海量数据的分布式系统基础软件框架,理论上能够通过增加计算节点以处理无限增长的数据,由java写成。其作者是 Doug Cutting,得益于谷歌的Map/Reduce计算模型和G...

bochs
2016/11/17
58
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部