flume實戰應用解析
阿新 • • 發佈:2017-07-20
it
業務背景:
將java項目生成的日誌文件分門別類的輸出給flume
第一步:
將日誌輸出到flume中,在java程序中編寫log4j,並指定輸出到哪個flume服務器中
log4j.rootLogger=INFO,flume log4j.appender.flume=org.apache.flume.clients.log4jappender.Log4jAppender log4j.appender.flume.Hostname=192.168.13.132 log4j.appender.flume.Port=41414
第二步:
import java.util.Date; import org.apache.log4j.Logger; public class flume { public static final Logger logger = Logger.getLogger(flume.class); public static void main(String[] args) throws Exception { while(true) { logger.info(String.valueOf(new Date().getTime())); Thread.sleep(2000); } } }
第三步:
參考
案例15:avro 負載均衡的方式動態獲取文件中內容啟動132和133,也可以指定優先級,參照案例17:avro 負載均衡加優先級配置
比如將三種不同日誌分別生成到不同的服務器上比如 132生成的是access 133生成的是ugcheader 就可以了
log4j.rootLogger=INFO,access ,ugcheader log4j.appender.access =org.apache.flume.clients.log4jappender.Log4jAppender log4j.appender.access .Hostname=192.168.13.132 log4j.appender.access .Port=41414
log4j.rootLogger=INFO,access ,ugcheader log4j.appender.ugcheader =org.apache.flume.clients.log4jappender.Log4jAppender log4j.appender.ugcheader .Hostname=192.168.13.133 log4j.appender.ugcheader .Port=41414
flume實戰應用解析