我想每隔几秒钟就查看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
分享到:
相关推荐
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集群管理设计与实现,尹文涛,王洪波,大数据和云计算是当前信息技术领域的研究热点,全球每天产生大量的数据,为大数据的分析处理提供了机会;数据中心的出现和发展,
YARN框架下的MapReduce可以开启JobHistoryServer来记录历史任务信息,否则只能查看当前正在执行的任务信息。 Zookeeper的作用是负责HDFS中NameNode主备节点的选举,和YARN框架下ResourceManaer主备节点的选举。
Hadoop的HDFS集群非常容易出现机器与机器之间磁盘利用率不平衡的情况,比如集群中添加新的数据节点,节点与节点之间磁盘大小不一样等等。当hdfs出现不平衡状况的时候,将引发很多问题,比如MR程序无法很好地利用本地...
当前环境: centos6.5,jdk8 准备工作: 1.服务器之间免密登录 $ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys 2.服务器之间...
本文提出了一种基于模型的Hadoop部署和配置方法,可帮助管理员以简单但功能强大的方式构建Hadoop集群。 首先,根据当前Hadoop部署和配置的领域知识,提供Hadoop软件体系结构的统一模型。 其次,我们为领域专家提供...
Hadoop 三个配置文件的参数含义说明;Hadoop core-site.xml;hdfs-site.xml;mapred-site.xml
Mesos上的Hadoop当前不支持YARN(和MRv2)。先决条件要使用指标功能(使用库),您需要安装libsnappy 。 libsnappyjava 软件包还包括libsnappyjava的捆绑版本。建造您可以使用Maven构建hadoop-mesos-0.1.0.jar : ...
数据库和文件中储存的数据量每天都在增长,因此我们需要构建能够储存大量数据(...在本文中,我将尝试说明如何构建一个可伸缩的Hadoop集群,以存储、索引、检索和维护理论上无限容量的数据。1.网络体系结构2.操作系统3
当前克隆代码检测技术或者拘泥于只能检测少数几种克隆代码,或者需要极高的检测时间。而且如果需要检测大量的源代码,一台机器的主存也许无法存储所有的信息。对克隆代码检测技术的并行运行进行了可能性研究,使用...
hadoop集群搭建是学习大数据的第一步,开始会觉得有些麻烦,玩的时间长了回来看看也就那么回事 虚拟机安装centos7 https://www.osyunwei.com/archives/7829.html 步骤2设置IP地址、网关DNS不用执行 当前安装系统可作为...
经常要安装Hadoop的2.x和3.x的伪集群版本。仅限于Linux系统,不能在Windows上执行 虽然已经熟练,但是需要修改各个配置文件。 索性,将所有的操作整理成了一个工具。执行此命令,可能会要求输入当前用户的密码和...
3.提出了一种异构环境下的高效数据存储机制针对当前基于Hadoop的海量网络数据处理平台中数据存储问题,本文对分布式数据存储技术进行深入研究,并结合服务器性能评估技术提出了一种适用于异构环境下的高效数据存储算法...
前言 感谢我关注的朋友,我亦无他,收集整理的大部分脚本。 群发脚本XSync(xsync) #!/bin/bash #1 获取参数,如果不够直接退出 pcount=$# ...#4 获取当前用户名称 user=`whoami` #5 循环遍历工作主机 执行
Hadoop集群 使用 Virtualbox 配置的 VirtualMachines 设置四节点 hadoop 集群的 Vagrant 文件 当前状态 文件置备四个虚拟机 修改每个虚拟机的“hosts”文件并创建别名 安装 Java 要求 Java 在与 Vagrant 文件相同的...
水环境模型的高性能批量计算是当前水环境模拟研究的热点。大数据技术中的分布式集群计算模式为水环境模拟批量计算提供一种可行的解决方案。探索了水环境数值模型在大数据分布式计算框架下的适应性,提出了一种适用于...
打开主节点的hosts文件,要将文件的前两行注释掉 (注释当前主机的信息)并在文件中添加所有hadoop集群的主机信息。 vi /etc/hosts 192.168.15.128 master 192.168.15.129 slaver1 192.168.15.130 slaver2 保存之后,...
像GridGain等内存网格产品(IMDG)不仅可以作为简单的缓存,加速...所以本文的前半部分重点看一下最新版2.7.1如何搭建伪分布式集群。为当前用户配置无密码的SSH登录,通过sshlocalhost测试是否还需要输入密码。[root@vmSo