共計 1907 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要講解了“loh4j 整合 flume 的方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“loh4j 整合 flume 的方法是什么”吧!
一、配置啟動 flume
①flume 的配置文件 conf/flume-conf.properties(這個文件一般是 flume-conf.properties.default),復制修改后綴即可;
配置文件如下:
agent1.channels = ch2
agent1.sources = avro-source1
agent1.sinks = log-sink1
# 定義 channel
agent1.channels.ch2.type = memory #mem channel
# 定義 source
agent1.sources.avro-source1.channels = ch2
agent1.sources.avro-source1.type = avro #avro source
agent1.sources.avro-source1.bind = 0.0.0.0
agent1.sources.avro-source1.port = 41414
# 定義 sink
agent1.sinks.log-sink1.channel = ch2
agent1.sinks.log-sink1.type = logger #logger sink
啟動 flume
bin/flume-ng agent –conf conf –conf-file conf/flume-conf.properties –name agent1 -Dflume.root.logger=INFO,console
二、log4j 的配置
①在 log4j.properties 文件中添加 flume appender
log4j.rootLogger=INFO,flume #日志級別,info 和 flume
log4j.appender.flume = org.apache.flume.clients.log4jappender.Log4jAppender
log4j.appender.flume.Hostname = 192.168.57.133 #flume 地址
log4j.appender.flume.Port = 41414 #flume source 監聽的端口
log4j.appender.flume.UnsafeMode = true
log4j.appender.flume.layout=org.apache.log4j.PatternLayout
log4j.appender.flume.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] – %m%n
三、測試
在 maven 中添加 flume appender 依賴
dependency
groupId org.apache.flume.flume-ng-clients /groupId
artifactId flume-ng-log4jappender /artifactId
version 1.6.0 /version
/dependency
編寫簡單的測試類:
public class Log4jTest {Logger logger = LoggerFactory.getLogger(Log4jTest.class); /**
* 測試 flume
* @Title: flumeTest
* @Description: TODO
* @param @throws Exception
* @return void
* @throws
*/
@Test
public void flumeTest() throws Exception {while(true){logger.info( spider , System.currentTimeMillis());
try {Thread.sleep(1000);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();}
運行測試類,可以看到 flume 在控制臺的輸出
感謝各位的閱讀,以上就是“loh4j 整合 flume 的方法是什么”的內容了,經過本文的學習后,相信大家對 loh4j 整合 flume 的方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!