大日志处理问题

 问题描述:有几个压缩好的大日志文件,压缩后,2,3G,解压后估计有5,6G

需要将这些日志解析出来,存储到分布树数据库中去。看了下线上的机器,虽然

每个机器的绝对内存都可以将这些数据读入进去,但是正常可用内存却只有几个G

而且还要被其他程序占用,解析代码用JAVA来写,运行JAVA代码的时候可以指定

使用的内存XMS,XMX。

解决方法: 由于日志信息允许有一定的丢失,所以可以采用将文件切割的办法,

将大文件切割为一个个的小文件,然后JAVA代码在将这些小文件读进去处理。这样

以来运行时占用的内存就可以控制在一定范围内。

 日志切割采用SHELL脚本下面的:split -b 100m $openFile 将日志切分为每个100M

这样每次只需要读入100M的数据进行处理。一行一条数据的话,切割完也就丢失几十条

日志信息而已,可以接受。

 

posted @ 2013-10-07 18:33  cstar(小乐)  阅读(268)  评论(0编辑  收藏  举报