程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Flume學習應用:Java寫日志數據到MongoDB,flumemongodb

Flume學習應用:Java寫日志數據到MongoDB,flumemongodb

編輯:JAVA綜合教程

Flume學習應用:Java寫日志數據到MongoDB,flumemongodb


概述


Windows平台:Java寫日志到Flume,Flume最終把日志寫到MongoDB。

系統環境


  • 操作系統:win7 64
  • JDK:1.6.0_43

資源下載

  • Maven:3.3.3
    下載、安裝、入門參考:1. Maven - 開始和2. 創建一個簡單的Maven項目
  • Flume:1.6.0
    下載apache-flume-1.6.0-bin.tar.gz,並解壓到合適的目錄(e.g. F:\temp\apache-flume-1.6.0-bin)
  • MongoDB:3.2.3
    下載mongodb-win32-x86_64-3.2.3-signed.msi,並安裝到合適的目錄(e.g. D:\develop\MongoDB)

輔助資源下載

  • MongoDB Java Driver:2.13.0
    下載地址:mongo-java-driver-2.13.0.jar
    下載之後放入Flume安裝目錄的lib下。
  • flume-ng-mongodb-sink
    Flume需要這個,才能把數據寫到MongoDB中
    下載地址:flume-ng-mongodb-sink
    這是一個基於Maven的源代碼,package之後,將jar包放到Flume安裝目錄的lib下。

初始化


數據初始化

為MongoDB指定dbpath。

配置Flume

實現


Flume到MongoDB

在Flume安裝目錄的conf下,添加mongo-agent.properties:
agent.sources = so1
agent.channels = c1
agent.sinks = s1

agent.sources.so1.type = avro
agent.sources.so1.bind = 0.0.0.0
agent.sources.so1.port = 44444
agent.sources.so1.channels = c1

agent.channels.c1.type = memory
agent.channels.c1.capacity = 1000
agent.channels.c1.transactionCapacity = 100

agent.sinks.s1.type = org.riderzen.flume.sink.MongoSink
agent.sinks.s1.host = localhost
agent.sinks.s1.port = 27017
agent.sinks.s1.model = single
agent.sinks.s1.db = test
agent.sinks.s1.collection = log
agent.sinks.s1.batch = 100
agent.sinks.s1.channel = c1

簡單說明:

Java到Flume

這是一個基於Maven的一個simple project,你可以從flume-ng-java2mongodb拿到源代碼。

文件結構

src/main/java
    |---- cn.sinobest.flume.client.demo
              |---- LogDemo.java
src/main/resources
    |---- log4j.properties
pom.xml

文件內容

測試

附錄


參考資料

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved