hadoop 启动时间写入文件

hadoop1.0.4;

昨天看了源码,说到可以使用log信息来打印出来JobTracker的启动时间,然后来解析这个Log文件,但是这里有个问题,就是log文件是在hadoop的主节点namenode的linux机器中的,不是在客户端,读取会有一定的问题,然后就又想到了还是写文件(hdfs文件系统)的方式。只要在JobTracker启动之后,然后再写入即可。

还是按源码来说(首先把原来修改的还原回来),看代码的302、303行:

 
view plain
copy
hadoop 启动时间写入文件
hadoop 启动时间写入文件

  1. result = new JobTracker(conf, identifier);  
  2.         result.taskScheduler.setTaskTrackerManager(result);  

这里就是新建JobTracker的代码了,可以在这两行代码后面加上这样的代码:

 
view plain
copy
hadoop 启动时间写入文件
hadoop 启动时间写入文件

  1. result = new JobTracker(conf, identifier);  
  2.         result.taskScheduler.setTaskTrackerManager(result);  
  3.         /** 
  4.          * add by fansy at 2013/12/20 
  5.          */  
  6.         writeString(JOBTRACKER_STARTTIME,conf);  
  7.         LOG.info(“***—JOBTRACKER_STARTTIME:”+JOBTRACKER_STARTTIME);  

这样就可以写入了,同时保证不会是在safemode状态写入,这样就不会报错了。

额,还需要修改的代码为:

新增一个static 变量:

 
view plain
copy
hadoop 启动时间写入文件
hadoop 启动时间写入文件

  1. private static String JOBTRACKER_STARTTIME;  

修改generateNewIdentifier代码:

 
view plain
copy
hadoop 启动时间写入文件
hadoop 启动时间写入文件

  1. private static String generateNewIdentifier() {  
  2. JOBTRACKER_STARTTIME=getDateFormat().format(new Date());  
  3.    return JOBTRACKER_STARTTIME;  
  4.  }  

这样就可以了。

编译、替换、重新启动集群,可以看到hdfs文件系统上面的新文件:

hadoop 启动时间写入文件
集群启动的图片为:

hadoop 启动时间写入文件
额,同时可以下载hadoop-core-1.0.4.jar 文件,在http://download.csdn.net/detail/fansy1990/6745283可以看到;

需要读取这个文件,可以使用下面的方法:

 
view plain
copy
hadoop 启动时间写入文件
hadoop 启动时间写入文件

  1. public static String readString(Path path, Configuration conf) throws IOException {  
  2.             FileSystem fs = FileSystem.get(path.toUri(), conf);  
  3.             FSDataInputStream in = fs.open(path);  
  4.             try {  
  5.               return in.readUTF();  
  6.             } finally {  
  7.               Closeables.closeQuietly(in);  
  8.             }  
  9.           }  
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!10210454@qq.com
2. 本站不保证所提供所有下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有RB奖励和额外RMB收入!

磊宇堂正在使用的服务器 维护管理由磊宇云服务器提供支持

磊宇堂 » hadoop 启动时间写入文件

提供最优质的资源集合

立即查看 了解详情