首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

apache druid 使用 log4j2 防止日志爆炸

Apache druid

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

druid 日志爆炸

环境默认的输出日志经常出现一个文件几十G的情况,需要通过提供的日志配置自行调整,防止这种日志文件爆炸情况。

日志正常分隔一般根据大小或是时间两个维度。

druid 提供log4j2的日志配置。

日志配置目标

apache druid 包含多个节点coordinator,overlord,MiddleManager,Broker,Historical.

集群本身共用一个日志配置文件(_common).

目标:不同的节点输出至自身的配置文件中。

配置实例

本次以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-dd HH:mm:ss} %processId [%t] %-5p %c{1}:%L - %msg%n %msg%n %d %-8r %m%n logs fileName="${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}

总结

本文件虽然可以按照预期生成日志,避免短时间内的日志爆炸,但删除过期日志一直未能正常生效。

这个策略在本地程序中测试时可以生效。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200419A0FRKB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券