apache druid 使用 log4j2 防止日志爆炸

文章图片
Apachedruid
Druid是一个分布式的、支持实时多维OLAP分析的数据处理系统 。 它既支持高速的数据实时摄入处理 , 也支持实时且灵活的多维数据分析查询 。 因此Druid最常用的场景就是大数据背景下、灵活快速的多维OLAP分析 。 另外 , Druid还有一个关键的特点:它支持根据时间戳对数据进行预聚合摄入和聚合分析 , 因此也有用户经常在有时序数据处理分析的场景中用到它

文章图片
druid日志爆炸
环境默认的输出日志经常出现一个文件几十G的情况 , 需要通过提供的日志配置自行调整 , 防止这种日志文件爆炸情况 。
日志正常分隔一般根据大小或是时间两个维度 。
druid提供log4j2的日志配置 。
日志配置目标
apachedruid包含多个节点coordinator,overlord,MiddleManager,Broker,Historical.
集群本身共用一个日志配置文件(_common).
目标:不同的节点输出至自身的配置文件中 。

文章图片
【apache druid 使用 log4j2 防止日志爆炸】配置实例
本次以broker节点为例
在broker中包含运行配置文件 。
jvm.config
runtime.properties
在jvm.config加入参数-Dlogfile.name=broker
-server-Xms64g-Xmx64g-XX:MaxDirectMemorySize=15360m-Duser.timezone=UTC+0800-Dfile.encoding=UTF-8-Djava.io.tmpdir=var/tmp-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager-Dlogfile.name=broker
log4j2配置文件
滚动策略每100M一个文件 。
%d{yyyy-MM-ddHH:mm:ss}%processId[%t]%-5p%c{1}:%L-%msg%n%msg%n%d%-8r%m%nlogsfileName="${logPath}/${sys:logfile.name}.log"filePattern="${logPath}/${sys:logfile.name}-%d{yyyy-MM-dd}.log.%i">${pattern}fileName="${logPath}/${sys:logfile.name}.metrics"filePattern="${logPath}/${sys:logfile.name}-%d{yyyy-MM-dd}.metrics.%i.gz">${patternMetrics}
总结
本文件虽然可以按照预期生成日志 , 避免短时间内的日志爆炸 , 但删除过期日志一直未能正常生效 。
这个策略在本地程序中测试时可以生效 。
推荐阅读
- 弹射刀——美国禁止非军方人士使用的刀具
- 新版“红绿灯”开始使用,取消读秒改名字,司机:一不小心扣18分
- 个性化定制订餐APP功能,增强用户的使用体验
- “吃鸡”大神推荐萌新使用的4把武器,上手简单,刷新率还很高!
- 透明的A柱发明得很早,为什么汽车公司不使用它?丰田:谁用谁挨骂!
- 逆光人像摄影有点难,使用这五个简单技巧,拍摄唯美迷人效果
- 突破限制,白嫖15大平台VIP!嘘,低调使用
- 这款能改变你对房车使用率过低的印象!
- 除了电动汽车,博世甚至还为婴儿车使用了电动系统
- 人民日报张文宏谈如何正确使用空调:超过一定时间需开窗开空调
