log4j与flume整合配置
来源:互联网 发布:淘宝好评后可以退款吗 编辑:程序博客网 时间:2024/06/07 10:34
1、依赖jar包导入,通过maven管理,pom文件增加如下配置:
<!-- log4j输出日志到flume的appender依赖包 --><dependency><groupId>org.apache.flume.flume-ng-clients</groupId><artifactId>flume-ng-log4jappender</artifactId><version>1.6.0</version></dependency>
<!-- log4j 依赖包--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.5</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.5</version></dependency>2、log4j配置文件:
2.1 log4j.properties文件配置:
#log4j输出到flume单机模式配置log4j.appender.loadbalance = org.apache.flume.clients.log4jappender.Log4jAppenderlog4j.appender.loadbalance.hostname = hadoop011log4j.appender.loadbalance.port = 6666#log4j输出到flume负载均衡方式配置log4j.appender.loadbalance = org.apache.flume.clients.log4jappender.LoadBalancingLog4jAppenderlog4j.appender.loadbalance.Hosts = hadoop011:6666 hadoop012:6666#log4j.appender.loadbalance.UnsafeMode = truelog4j.appender.out2.MaxBackoff = 30000#FQDN RANDOM ,default is ROUND_ROBINlog4j.appender.loadbalance.Selector = RANDOMlog4j.appender.loadbalance.layout=org.apache.log4j.PatternLayoutlog4j.appender.loadbalance.layout.ConversionPattern=%m2.2 XMl方式配置:
<!-- 单机模式 --><appender name="FLUME"class="org.apache.flume.clients.log4jappender.Log4jAppender"><!-- 定义控制台日志级别入口 --><param name="Hostname" value="192.168.12.11" /><param name="Port" value="6666" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern"value="%d{yyyy-MM-dd hh:mm:ss,SSS} [%p][%t] %-20.30c{1} %4L %m%n" /></layout></appender><!-- 负载均衡方式 --><appender name="FLUME"class="org.apache.flume.clients.log4jappender.LoadBalancingLog4jAppender"><!-- 定义控制台日志级别入口 --><param name="hosts" value="192.168.12.11:6666 192.168.12.12:6666" /><param name="Selector" value="RANDOM" /><param name="maxBackoff" value="30000" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern"value="%d{yyyy-MM-dd hh:mm:ss,SSS} [%p][%t] %-20.30c{1} %4L %m%n" /></layout></appender>
注:以上配置中ip地址均可以使用hostname或域名替代。
3. 问题
采用负载均衡方式配置打印日志时,出现循环打印出“Using default maxIOWorkers”导致栈溢出问题:
解决办法:
重写LoadBalancingLog4jAppender.java类,在getProperties方法中增加对maxIOWorkers初始化:
props.setProperty(RpcClientConfigurationConstants.MAX_IO_WORKERS,
(Runtime.getRuntime().availableProcessors() * 2)+"");
1 0
- log4j与flume整合配置
- log4j与flume整合配置(实现故障转移FailoverLog4jAppender)及问题总结
- log4j+flume+kafka+strom整合
- Flume与Kafka整合
- Flume与Elasticsearch整合
- Flume与Kafka整合
- Flume与Kafka整合
- flume与kafka整合
- flume+log4j整合到web项目
- flume+log4j整合到web项目
- 102-整合log4j和flume架构
- Flume,Kafka与Storm整合
- flume-ng与kafka整合
- flume-ng 与elasticsearch整合
- flume与kafka的整合
- Log4j与ssh整合
- Log4j与ssh整合
- FLume收集log4j日志配置实践
- Activity与DialogFragment交互的方法
- IOS开发笔记13-结构体
- POJ1159 Palindrome(dp加最少字母构成回文字符串)
- android下拉菜单spinner的使用方法
- linux 下文件的搜寻(转)
- log4j与flume整合配置
- 并查集基础
- linux 下常用的文件和目录操作命令(转)
- Android设计模式系列-组合模式
- 移动和导出导入虚拟机
- JDK并发工具类源码学习系列——ConcurrentLinkedQueue
- Android设计模式—策略模式
- 贝叶斯法则,先验概率,后验概率,最大后验概率
- 资源图片文件命名规则--cocos动画异常