你的位置:首页 > 软件开发 > 数据库 > Storm中遇到的日志多次重写问题(一)

Storm中遇到的日志多次重写问题(一)

发布时间:2016-10-18 18:02:24
业务描述:  统计从kafka spout中读取的数据条数,以及写入redis的数据的条数,写入hdfs的数据条数,写入kafaka的数据条数。并且每过5秒将数据按照json文件的形式写入日志。其中保存为json数据的格式为:时间戳 + 进程名称 + 读kafka数据条数 + 写 ...

Storm中遇到的日志多次重写问题(一)

业务描述:

  统计从kafka spout中读取的数据条数,以及写入redis的数据的条数,写入hdfs的数据条数,写入kafaka的数据条数。并且每过5秒将数据按照json文件的形式写入日志。其中保存为json数据的格式为:时间戳 + 进程名称 + 读kafka数据条数 + 写入redis数据条数 + 写入hbase条数 + 写入kafka条数。time_stamp + process_name + from_kafka + to_redis + to_hdfs + to_kafka

给出实现的关键代码:

  

package count;import java.io.FileWriter;import java.io.IOException;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;import bolt.addGridNo;import bolt.transGPS;/* * 写在main函数里面了,因此只是跑在nimbus上面 * 这样做是不对的!!! */public class countflow{    private static String fileName = "/home/storm/countflow";//定义写文件路径  static FileWriter writer = null;//文件读写流  //private static Timer timer = new Timer();//计时器,每过5秒钟进行写数据//  private static countflow uniqueInstance;//  private countflow(){}//  public static countflow getInstance(){//    if(uniqueInstance == null){//      uniqueInstance = new countflow();//    }//    return uniqueInstance;//  }  /*  public void run() {    try {            writer = new FileWriter(fileName, true);      } catch (IOException e) {      e.printStackTrace();    }    executeFixedRate();    /*Timer timer = new Timer();    timer.schedule(new count(writer), 0, 5000);//每过5秒调用新建一个count类并且将writer传入。  }  */  /**   * 以固定周期频率执行任务   * @throws IOException   */  public static void executeFixedRate() throws IOException {    writer = new FileWriter(fileName, true);    ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);    executor.scheduleAtFixedRate(        new count(writer),        0,        5000,        TimeUnit.MILLISECONDS);  }  static class count implements Runnable{        private FileWriter writer = null;    //设置日期格式    private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        count(FileWriter writer){//构造函数      this.writer = writer;    }    public void run(){//运行代码        try {        writer.write("Bolt"+addGridNo.indexId+" From Grid and GPS "+"<"+df.format(new Date())+">strom_flow,<"+addGridNo.countGrid()+">,<"+transGPS.countGPS()+">\n");        writer.flush();      } catch (IOException e) {        // TODO Auto-generated catch block        e.printStackTrace();      }    }    }}

原标题:Storm中遇到的日志多次重写问题(一)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录