hadoop job运行问题解决

本文介绍了一种Hadoop作业始终在本地运行而非提交至JobTracker的问题及其解决方案。通过更改配置方式,从默认配置切换为从配置文件加载配置,成功解决了作业无法远程提交的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题现象:
    job提交后总是在本地机器运行,不能提交到hadoop job tracker,在
http://192.168.1.130:50030/jobtracker.jsp,不能看到运行中的job。
在控制台输出中出现:
    14/02/15 00:04:20 INFO mapred. LocalJobRunner: reduce > sort
原因分析:
    第一次尝试:
       将原来使用的默认new Configuration()替换为从配置文件得到,使用以下类
public class ConfigurationUtil {
 private static Configuration conf = null;
 public static final String USER_DIR = System.getProperty("user.dir");
 public static final String FILE_SEPARATOR = System
   .getProperty("file.separator");
 public static Configuration getConf() {
  if (conf == null) {
   conf = new Configuration();
   String pathCore = USER_DIR + FILE_SEPARATOR + "config.xml";
   System.out.println(pathCore);
   conf.addResource(new Path(pathCore));
  // String hostIp = "192.168.1.130";
  // conf.set("hadoop.job.ugi", "hadoop");
  // conf.set("hadoop.job.user", "hadoop");
  // conf.set("mapred.job.tracker", hostIp + ":9001");
  // conf.set("fs.default.name", "hdfs://namenode.meritit.com:9000");
  // conf.set("mapred.map.tasks", "2");
  }
  return conf;
 }
 public static void main(String args[]) {
  System.out.println(getConf().get("hadoop.job.user"));
 }
}
完成后问题解决!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值