hadoop 启动时间写入文件
来源:互联网 发布:mac安装2011 编辑:程序博客网 时间:2024/06/08 19:23
hadoop1.0.4;
昨天看了源码,说到可以使用log信息来打印出来JobTracker的启动时间,然后来解析这个Log文件,但是这里有个问题,就是log文件是在hadoop的主节点namenode的linux机器中的,不是在客户端,读取会有一定的问题,然后就又想到了还是写文件(hdfs文件系统)的方式。只要在JobTracker启动之后,然后再写入即可。
还是按源码来说(首先把原来修改的还原回来),看代码的302、303行:
result = new JobTracker(conf, identifier); result.taskScheduler.setTaskTrackerManager(result);这里就是新建JobTracker的代码了,可以在这两行代码后面加上这样的代码:
result = new JobTracker(conf, identifier); result.taskScheduler.setTaskTrackerManager(result); /** * add by fansy at 2013/12/20 */ writeString(JOBTRACKER_STARTTIME,conf); LOG.info("***---JOBTRACKER_STARTTIME:"+JOBTRACKER_STARTTIME);这样就可以写入了,同时保证不会是在safemode状态写入,这样就不会报错了。
额,还需要修改的代码为:
新增一个static 变量:
private static String JOBTRACKER_STARTTIME;修改generateNewIdentifier代码:
private static String generateNewIdentifier() {JOBTRACKER_STARTTIME=getDateFormat().format(new Date()); return JOBTRACKER_STARTTIME; }这样就可以了。
编译、替换、重新启动集群,可以看到hdfs文件系统上面的新文件:
集群启动的图片为:
额,同时可以下载hadoop-core-1.0.4.jar 文件,在http://download.csdn.net/detail/fansy1990/6745283可以看到;
需要读取这个文件,可以使用下面的方法:
public static String readString(Path path, Configuration conf) throws IOException { FileSystem fs = FileSystem.get(path.toUri(), conf); FSDataInputStream in = fs.open(path); try { return in.readUTF(); } finally { Closeables.closeQuietly(in); } }
writeString 的代码:
private static void writeString(String value,JobConf conf) { LOG.info("***********************************prepare to wirte to file with value:"+value); Path path=new Path("/private/jobtracker/starttime"); FileSystem fs; FSDataOutputStream out=null; try { fs = FileSystem.get(path.toUri(),conf); out = fs.create(path); out.writeUTF(value); } catch(Exception e){ LOG.info("********************************:"+e.getMessage()); }finally { Closeables.closeQuietly(out); } }
如果您觉得lz的blog或者资源还ok的话,可以选择给lz投一票,多谢。(投票地址:http://vote.blog.csdn.net/blogstaritem/blogstar2013/fansy1990 )
分享,成长,快乐
转载请注明blog地址:http://blog.csdn.net/fansy1990
0 0
- hadoop 启动时间写入文件
- Hadoop文件写入(详细剖析)
- c# 把时间写入文件
- hadoop JobTracker获取启动时间
- Hadoop SequenceFile 文件写入及格式分析
- Hadoop 创建文件并写入数据
- Hadoop向HDFS写入、删除、读取文件
- 获取时间和写入文件的例子
- 标准IO把时间写入文件
- 创建一个文件,并写入当前时间
- linux将当前时间写入文件
- Hadoop启动,创建文件hdfs
- Hadoop--SecondNameNode导致服务启动时间超长
- HDFS的API对Hadoop文件系统的文件进行写入
- Hadoop中HDFS写入文件的原理剖析
- Hadoop中HDFS写入文件的原理剖析
- Hadoop中HDFS写入文件的原理剖析
- springMVC + hadoop + httpclient 文件上传请求直接写入hdfs
- jQuery获取文本节点之 text()/val()/html() 方法区别 详细出处参考:http://www.jb51.net/article/26431.htm
- 7 cocos2d-x CCEditBox 编辑框
- postgreSQL 存储过程
- 17周项目五(3)。年龄几何
- 分布式文件系统读写性能分析
- hadoop 启动时间写入文件
- wamp5 服务启动不起,在网页中输入http://lwww.dedecms.com/dede/会报错
- 三星Note3 S搜索功能如何使用
- web 如何导出excel
- IOS tap 手势
- C# 验证码识别实践2 ——对CSDN资源上传验证码识别率100%,久游网登陆90%
- Windows下INF驱动安装文件内容分析
- java定义栈
- 苹果 iPod touch 卸载应用