分享

有关M/R任务在8088端口查看的问题

heelo 发表于 2017-10-26 23:08:45 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 5836
        现在在用的命令是distcp命令是用来做跨集群传输的,现在我有两个集群A,B,数据流向都是A->B,如果我在A集群启动了distcp任务,那么能在A集群的8088端口查看到这个M/R任务,如果我在B集群启动了distcp任务,那么能在B集群的8088端口查看到这个M/R任务,这个不知道是什么原理。        还有一个问题,就是在windows端我用idea写了个调用distcp任务传输A->B数据的程序,任务运行成功,但是在A和B集群的8088上都查不到这个任务记录,不知道应该在哪个上面才能查看到该任务记录,疑惑是不是程序写的问题,代码段是这样的:
List<String> src = new ArrayList<String>();
src.add("hdfs://****:8020/user/test");
String dest = "hdfs://****:8020/user/test";
Configuration conf = new Configuration();
System.setProperty("HADOOP_USER_NAME","root");之后就是调用ToolRunner.run()方法进行调用了distcp方法,与集群相关的只有设置了一个源路径和目的路径,不知道这样写连接集群运行任务是不是有问题?是否是运行了集群进行分布式运算,如果不对的话可不可以帮忙提供一下windows正确连接集群的方法,感激不尽,希望能在web看到任务的原因是想要做队列调度,但是看不到任务详情没办法知道是否调度到了设置的队列,希望有知道的同学可以提供帮助,谢谢


已有(2)人评论

跳转到指定楼层
desehawk 发表于 2017-10-27 09:06:13
对于第一个问题,谁发起的,自然就属于谁的任务。数据流向都是A->B,如果我在A集群启动了distcp任务,那么能在A集群的8088端口查看到这个M/R任务,如果我在B集群启动了distcp任务,那么能在B集群的8088端口查看到这个M/R任务。在A集群启动了distcp任务,自然调用的是集群A的API,所以在B上肯定看不到的,它没有什么操作,只是简单的数据过来。也就没有什么功能。对于IDE下,以前就有这种情况,可能是集群监控不到。当然自己也可以通过JMX实现监控。
内容如下

自定义监控是很多人想实现的,方法也有很多种。比如通过shell,通过抓取。其实hadoop提供了相关接口--那就是Hadoop JMX 接口.将http://namenode:50070/dfshealth.jsp 替换为 http://namenode:50070/jmx 就可以看到Hadoop自带的JMX接口所返回的JSON格式的数据,信息非常全面。同时,可以在链接的后面,添加参数来获取指定名称的监控信息,例如访问 http://namenode:50070/jmx?qry=Hadoop:service=NameNode,name=NameNodeInfo 就可以只获取NameNodeInfo的信息,通过更改qry=后面的参数,可以指定想要获取的内容,qry参数的值即为json信息中name所对应的内容。
通过同样的方法,可以获得:
JobTracker的信息:http://namenode:50030/jmx
DataNode的信息:http://datanode:50075/jmx
TaskTracker信息:http://datanode:50060/jmx

来自:
监控hadoop生态系统企业应该用什么监控软件
http://www.aboutyun.com/forum.php?mod=viewthread&tid=21931


回复

使用道具 举报

heelo 发表于 2017-10-27 09:58:09
desehawk 发表于 2017-10-27 09:06
对于第一个问题,谁发起的,自然就属于谁的任务。数据流向都是A->B,如果我在A集群启动了distcp任务,那么能 ...


感谢感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条