我已经在Ubuntu机器上安装了Cassandra 2.0.11。Cassandra:如何归档日志文件
日志记录配置是默认设置。日志文件的位置在
/var/log/cassandra/
此外,日志文件已处于旋转模式。
如何配置要压缩的日志文件? 因此它不会消耗大量的磁盘存储空间。
我已经在Ubuntu机器上安装了Cassandra 2.0.11。Cassandra:如何归档日志文件
日志记录配置是默认设置。日志文件的位置在
/var/log/cassandra/
此外,日志文件已处于旋转模式。
如何配置要压缩的日志文件? 因此它不会消耗大量的磁盘存储空间。
对于卡桑德拉2.0和以前
如果按照从这里docs,你可能看到过compress命令。默认情况下,logrotate将使用gzip压缩旋转的文件。man page表示您还可以设置compresscmd
和compressext
以使用您自己的压缩应用程序(即zip)。你可以把你自己的压缩脚本放在一起。
例子:
/var/log/cassandra/output.log {
size 1k
copytruncate
create
compress
compresscmd /bin/bzip2
compressext .bz2
rotate 4
}
对于卡桑德拉2.1及更高版本
按照documentation,你应该结束你的fileNamePattern
在rollingPolicy
与zip
或gz
。就像这里的example一样。
卡桑德拉文件,第二个链接上还说:大小超过20MB 后
默认策略滚动SYSTEM.LOG文件。档案以zip格式压缩。 Logback命名为log 文件system.log.1.zip,system.log.2.zip等。有关更多 信息,请参阅logback文档。
答案仅适用于Cassandra 2.0及之前版本。
Cassandra 2.0和更早版本正在使用log4j作为日志API。 它回答的必要性:
它不解答,需要压缩\存档旧的文件以节省存储位置。
为了支持旧的日志文件的ZIP,你需要使用的log4j的扩展(见compress log4j log files) 如果你真的想激活它在卡桑德拉,你需要做到以下几点:
显然,你会这么做的机会很渺茫。太多麻烦了。
有一个简单的解决方案:(仅适用于Linux操作系统)
配置Cassandra使用简单的日志记录
sudo vi /etc/cassandra/log4j-server.properties
更改下面这个文件中:
# Add the new Appender to the rootLogger
log4j.rootLogger=INFO,stdout,F,R
# Mark the following configuration (all the RollingFileAppender)
# rolling log file
#log4j.appender.R=org.apache.log4j.RollingFileAppender
#log4j.appender.R.maxFileSize=1MB
#log4j.appender.R.maxBackupIndex=3
#log4j.appender.R.layout=org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern=%5p [%t] %d{ISO8601} %F (line %L) %m%n
#log4j.appender.R.RollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
#log4j.appender.R.RollingPolicy.FileNamePattern=cassandra.%d{yyyy-MM-dd-HH}.gz
#log4j.appender.R.RollingPolicy.ActiveFileName =cassandra.log
# Edit the next line to point to your logs directory
#log4j.appender.R.File=/var/log/cassandra/cassandra.log
########################################################
# Add the new File Appender
# file appender
# Define the file appender
log4j.appender.F=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.F.File=/var/log/cassandra/cassandra.log
# Define the layout for file appender
log4j.appender.F.layout=org.apache.log4j.PatternLayout
log4j.appender.F.layout.conversionPattern=%5p [%t] %d{ISO8601} %F (line %L) %m%n
现在卡桑德拉仅记录到一个文件,而不是将其旋转。下一步...
配置logrotate的守护程序处理日志文件
如果你真的想知道什么是日志轮播:Understanding logrotate utility
执行以下操作:
sudo vi /etc/logrotate.d/cassandra
添加数据如下:
/var/log/cassandra/cassandra.log {
daily
rotate 50
size 100M
copytruncate
compress
delaycompress
missingok
notifempty
create 644 cassandra cassandra
}
就是这样。从现在开始,logrotate会照顾你的日志文件,并保持整个存储空间不超过5GB。
如果你想改变存储大小,配置旋转和大小你认为合适的。
的logback在卡桑德拉2.1推出,它是在Log4J的卡桑德拉2.0 – 2015-02-24 13:55:25
好了,没注意到......最近,我开始一个新项目,并开始与2.1,所以我机械回答是这样的... – 2015-02-24 14:02:37