如何使用org.apache.mesos.Log?
How to use the org.apache.mesos.Log?
我想通过 org.apache.mesos.Log
获取 mesos 日志,但是 API 太少了。我不知道如何使用 "Writer" 和 "Reader"。当我创建一个新的日志时,创建了一些文件,但我什至不知道这是什么意思。有人用过吗?
这是我的代码
public class MyMesosLog {
private static org.apache.mesos.Log log;
private static Log getLog(){
return log == null ? new Log(2,"/Users/wangyao/Desktop","localhost:2181",2000, TimeUnit.MILLISECONDS,"mesos") : log;
}
private static Log.Writer getWriter(){
return new Log.Writer(log,2000,TimeUnit.MILLISECONDS,5);
}
private static Log.Reader getReader(){
return new Log.Reader(log);
}
public static void main(String[] args){
MyMesosLog.getLog();
}
}
结果是:
我的桌面上只创建了 5 个文件,
除了名为 Log 的文件外,这些文件中没有任何内容,
那是信息:
2015/06/10-14:14:14.688716 1019f3000 Recovering log #12
2015/06/10-14:14:14.691651 1019f3000 Delete type=0 #12
2015/06/10-14:14:14.691729 1019f3000 Delete type=3 #10
2015/06/10-14:14:14.693408 1211e4000 Level-0 table #17: started
2015/06/10-14:14:14.693583 1211e4000 Level-0 table #17: 0 bytes OK
2015/06/10-14:14:14.694033 1211e4000 Delete type=0 #15
2015/06/10-14:14:14.694285 1211e4000 Manual compaction at level-0 from (begin) .. (end); will stop at (end)
我想得到的结果就像这个 Mesos url : http://localhost:5050/#/ 我可以找到任务的日志,例如 :Launcher.log ,stderr 和 stdout
Log
不是关于访问日志消息,而是关于将数据存储在Mesos自己的复制日志(分布式数据存储)中。
另请参阅:http://mesos.apache.org/blog/mesos-0-17-0-released-featuring-autorecovery/
要访问任务日志,您可以使用 mesos-cli 工具:
并使用 mesos tail
和 mesos cat
获取任务日志。
如果您使用的是 Mesosphere 的 Marathon and/or DCOS,您也可以尝试:
我想通过 org.apache.mesos.Log
获取 mesos 日志,但是 API 太少了。我不知道如何使用 "Writer" 和 "Reader"。当我创建一个新的日志时,创建了一些文件,但我什至不知道这是什么意思。有人用过吗?
这是我的代码
public class MyMesosLog {
private static org.apache.mesos.Log log;
private static Log getLog(){
return log == null ? new Log(2,"/Users/wangyao/Desktop","localhost:2181",2000, TimeUnit.MILLISECONDS,"mesos") : log;
}
private static Log.Writer getWriter(){
return new Log.Writer(log,2000,TimeUnit.MILLISECONDS,5);
}
private static Log.Reader getReader(){
return new Log.Reader(log);
}
public static void main(String[] args){
MyMesosLog.getLog();
}
}
结果是: 我的桌面上只创建了 5 个文件, 除了名为 Log 的文件外,这些文件中没有任何内容, 那是信息:
2015/06/10-14:14:14.688716 1019f3000 Recovering log #12
2015/06/10-14:14:14.691651 1019f3000 Delete type=0 #12
2015/06/10-14:14:14.691729 1019f3000 Delete type=3 #10
2015/06/10-14:14:14.693408 1211e4000 Level-0 table #17: started
2015/06/10-14:14:14.693583 1211e4000 Level-0 table #17: 0 bytes OK
2015/06/10-14:14:14.694033 1211e4000 Delete type=0 #15
2015/06/10-14:14:14.694285 1211e4000 Manual compaction at level-0 from (begin) .. (end); will stop at (end)
我想得到的结果就像这个 Mesos url : http://localhost:5050/#/ 我可以找到任务的日志,例如 :Launcher.log ,stderr 和 stdout
Log
不是关于访问日志消息,而是关于将数据存储在Mesos自己的复制日志(分布式数据存储)中。
另请参阅:http://mesos.apache.org/blog/mesos-0-17-0-released-featuring-autorecovery/
要访问任务日志,您可以使用 mesos-cli 工具:
并使用 mesos tail
和 mesos cat
获取任务日志。
如果您使用的是 Mesosphere 的 Marathon and/or DCOS,您也可以尝试: