`
RichardJ
  • 浏览: 9111 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

查看Hadoop当前集群信息的方法

阅读更多

我想每隔几秒钟就查看Hadoop集群中有哪些正在运行的Job,每个Job正在运行着多少个Map/Reduce Task。这就牵扯到如何查看当前Hadoop集群信息的问题,我查了查相关的资料。

用过Hadoop的人肯定都使过它提供的webapp来查看集群信息。这个webapp相当强大,所以我首先想到借用webapp的代码,但发现不太可能。

webapp使用JobInProgress对象查看当前Job的信息,而JobInProgress是包访问权限,没有公共接口。而且,要获得JobInProgress得先得到JobTracker对象,让我们看看webapp是如何获得这些对象的。比如,在job tracker.jsp中:
  JobTracker tracker = (JobTracker) application.getAttribute("job.tracker");
  ...
  Vector<JobInProgress> runningJobs = tracker.runningJobs();

竟然直接用 application来获得JobTracker对象,而且网页具有使用JobInProgress接口的权限。

那还有没有别的方法获得JobTracker对象吗?——还没找到。

 

既然JobInProgress用不了,有人说可以用JobClient获得Job的一些信息,但JobClient不提供查看正在运行的Task数等功能。JobClient可以获得ClusterStatus对象,能够查看集群中正在运行的Map/Reduce任务个数,但我想要的是每个Job各自的任务个数。JobClient还可以获得所有Job的JobStatus,但JobStatus也不包括正在运行Task个数。还可以从JobClient中获得RunningJob,但RunningJob也只能提供Map/Reduce完成的进度(一个float)。

 

既然JobInProgress是包访问权限,那么我修改Hadoop的源代码。在调度器(调度器和JobInProgress都在org.apache.hadoop.mapred包)中每次分配任务之前,将当前集群中的JobInProgress信息写入到一个文件。而实时证明不管是标准输出还是写入文件,都没反应。

 

我想法很简单,可是为什么那么难以实现阿

 

参考:

https://issues.apache.org/jira/browse/HADOOP-1313

0
0
分享到:
评论
3 楼 janeen 2013-05-08  
你好,我这里有个问题是,我怎么知道哪些job是我的job呢?JobClient.getAllJobs()是拿到所有的job吧。怎么区分哪些是自己的job呢?

2 楼 xuechongyang 2013-03-21  
langyu 写道
我提供一种可能的方法,我没试过,你可以分析下是否可行:
1. 从JobClient.getAllJobs()获得当前JT上所有运行的job,返回的是JobStatus数组
2. 根据JobStatus得到jobID,再由JobClient.getJob(jobID)获得RunningJob对象,这个对象中包含着一个重要的数据: Job Counter (RunningJob.getCounters())
3. 从Counter中取得当前job启动了多少个map/reduce task:
counters.findCounter(JobCounter.TOTAL_LAUNCHED_MAPS).getValue()
counters.findCounter(JobCounter.TOTAL_LAUNCHED_REDUCES).getValue()


多谢啊,帮了大忙了
1 楼 langyu 2011-06-20  
我提供一种可能的方法,我没试过,你可以分析下是否可行:
1. 从JobClient.getAllJobs()获得当前JT上所有运行的job,返回的是JobStatus数组
2. 根据JobStatus得到jobID,再由JobClient.getJob(jobID)获得RunningJob对象,这个对象中包含着一个重要的数据: Job Counter (RunningJob.getCounters())
3. 从Counter中取得当前job启动了多少个map/reduce task:
counters.findCounter(JobCounter.TOTAL_LAUNCHED_MAPS).getValue()
counters.findCounter(JobCounter.TOTAL_LAUNCHED_REDUCES).getValue()

相关推荐

    HadoopHA集群部署、规划HadoopHA集群教学课件.pptx

    Hadoop HA 集群模式配置方法 我们将在完全分布式集群的基础上完成HA集群的配置。 Hadoop HA 集群 - 服务器角色规划 Master (IP:192.168.128.128) Slave1 (IP:192.168.128.129) Slave2 (IP:192.168.128.130)...

    论文研究-基于OpenStack的Hadoop集群管理设计与实现 .pdf

    基于OpenStack的Hadoop集群管理设计与实现,尹文涛,王洪波,大数据和云计算是当前信息技术领域的研究热点,全球每天产生大量的数据,为大数据的分析处理提供了机会;数据中心的出现和发展,

    大数据hadoop集群部署-最详细的部署-2.8.5.pdf

    YARN框架下的MapReduce可以开启JobHistoryServer来记录历史任务信息,否则只能查看当前正在执行的任务信息。 Zookeeper的作用是负责HDFS中NameNode主备节点的选举,和YARN框架下ResourceManaer主备节点的选举。

    Hadoop集群datanode磁盘不均衡的解决方案

    Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点,节点与节点之间磁盘大小不一样等等。当hdfs出现不平衡状况的时候,将引发很多问题,比如MR程序无法很好地利用本地...

    hadoop3.1.3集群搭建(ha+yarn)

    当前环境: centos6.5,jdk8 准备工作: 1.服务器之间免密登录 $ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub &gt;&gt; ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys 2.服务器之间...

    面向基于模型的Hadoop部署和配置方法

    本文提出了一种基于模型的Hadoop部署和配置方法,可帮助管理员以简单但功能强大的方式构建Hadoop集群。 首先,根据当前Hadoop部署和配置的领域知识,提供Hadoop软件体系结构的统一模型。 其次,我们为领域专家提供...

    Hadoop 三个配置文件的参数含义说明

    Hadoop 三个配置文件的参数含义说明;Hadoop core-site.xml;hdfs-site.xml;mapred-site.xml

    hadoop:Mesos上的Hadoop

    Mesos上的Hadoop当前不支持YARN(和MRv2)。先决条件要使用指标功能(使用库),您需要安装libsnappy 。 libsnappyjava 软件包还包括libsnappyjava的捆绑版本。建造您可以使用Maven构建hadoop-mesos-0.1.0.jar : ...

    如何构建最优化的Hadoop集群

    数据库和文件中储存的数据量每天都在增长,因此我们需要构建能够储存大量数据(...在本文中,我将尝试说明如何构建一个可伸缩的Hadoop集群,以存储、索引、检索和维护理论上无限容量的数据。1.网络体系结构2.操作系统3

    Hadoop集群下的并行克隆代码检测

    当前克隆代码检测技术或者拘泥于只能检测少数几种克隆代码,或者需要极高的检测时间。而且如果需要检测大量的源代码,一台机器的主存也许无法存储所有的信息。对克隆代码检测技术的并行运行进行了可能性研究,使用...

    hadoop集群搭建

    hadoop集群搭建是学习大数据的第一步,开始会觉得有些麻烦,玩的时间长了回来看看也就那么回事 虚拟机安装centos7 https://www.osyunwei.com/archives/7829.html 步骤2设置IP地址、网关DNS不用执行 当前安装系统可作为...

    Hadoop-Installation-0.2.zip

    经常要安装Hadoop的2.x和3.x的伪集群版本。仅限于Linux系统,不能在Windows上执行 虽然已经熟练,但是需要修改各个配置文件。 索性,将所有的操作整理成了一个工具。执行此命令,可能会要求输入当前用户的密码和...

    Hadoop海量网络数据处理平台的关键技术

    3.提出了一种异构环境下的高效数据存储机制针对当前基于Hadoop的海量网络数据处理平台中数据存储问题,本文对分布式数据存储技术进行深入研究,并结合服务器性能评估技术提出了一种适用于异构环境下的高效数据存储算法...

    hadoop集群中常用shell脚本收集

    前言 感谢我关注的朋友,我亦无他,收集整理的大部分脚本。 群发脚本XSync(xsync) #!/bin/bash #1 获取参数,如果不够直接退出 pcount=$# ...#4 获取当前用户名称 user=`whoami` #5 循环遍历工作主机 执行

    HadoopCluster:使用 Virtualbox 配置的 VirtualMachines 设置四节点 hadoop 集群的 Vagrant 文件

    Hadoop集群 使用 Virtualbox 配置的 VirtualMachines 设置四节点 hadoop 集群的 Vagrant 文件 当前状态 文件置备四个虚拟机 修改每个虚拟机的“hosts”文件并创建别名 安装 Java 要求 Java 在与 Vagrant 文件相同的...

    Hadoop下水环境模拟集群运算模式

    水环境模型的高性能批量计算是当前水环境模拟研究的热点。大数据技术中的分布式集群计算模式为水环境模拟批量计算提供一种可行的解决方案。探索了水环境数值模型在大数据分布式计算框架下的适应性,提出了一种适用于...

    关于大数据Hadoop的服务器配置文档

    打开主节点的hosts文件,要将文件的前两行注释掉 (注释当前主机的信息)并在文件中添加所有hadoop集群的主机信息。 vi /etc/hosts 192.168.15.128 master 192.168.15.129 slaver1 192.168.15.130 slaver2 保存之后,...

    Hadoop加速器GridGain

    像GridGain等内存网格产品(IMDG)不仅可以作为简单的缓存,加速...所以本文的前半部分重点看一下最新版2.7.1如何搭建伪分布式集群。为当前用户配置无密码的SSH登录,通过sshlocalhost测试是否还需要输入密码。[root@vmSo

Global site tag (gtag.js) - Google Analytics