Linux flume安裝與配置
Flume是Cloudera提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚合和傳輸的系統,Flume支援在日誌系統中定製各類資料傳送方,用於收集資料;同時,Flume提供對資料進行簡單處理,並寫到各種資料接受方(可定製)的能力。
flume版本:apache-flume-1.5.0.1-bin.tar.gz
一:安裝
tar -zxvf apache-flume-1.5.0.1-bin.tar.gz -C /usr/local/flume1.5.1
系統引數配置
vi /etc/profile
export FLUME_HOME=/usr/local/flume1.5.1/
export FLUME_CONF_DIR=/usr/local/flume1.5.1/conf
export PATH=$PATH:$FLUME_HOME/bin
二:引數配置
cp flume-conf.properties.template flume.conf
vi flume.conf
# The configuration file needs to define the sources,
# the channels and the sinks.
# Sources, channels and sinks are defined per agent,
# in this case called 'agent'
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# For each one of the sources, the type is defined
a1.sources.r1.type = exec
a1.sources.r1.bind = localhost
a1.sources.r1.port = 5858
a1.sources.r1.shell = /bin/bash -c
a1.sources.r1.command = tail -F /tomcat_app/nohup.out
a1.sources.r1.restartThrottle = 300000
a1.sources.r1.restart = true
a1.sources.r1.logStdErr = false
a1.soources.r1.batchSize = 5
# The channel can be defined as follows.
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.channels.c1.keep-alive = 30
a1.channels.c1.byteCapacityBufferPercentage = 80%
a1.channels.c1.byteCapacity = 1024000000
# Each sink's type must be defined
a1.sinks.k1.type = logger
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
三:flume啟動記憶體配置
cp flume-env.sh.template flume-env.sh
JAVA_OPTS="-Xms1024m -Xmx1024m -Dcom.sun.management.jmxremote"
四:啟動
cd /usr/local/flume1.5.1
nohup bin/flume-ng agent --conf conf --conf-file conf/flume.conf --name a1 -Dflume.root.logger=INFO,console &
source
資料的源端,負責產生資料;也可以接收其他程式或者agent發來的資料。目前的已經支援的常用的source包括:
flume支援的source介紹 |
||
source名 |
source.type |
簡介 |
avro source |
avro |
提供一個基於avro協議的server,bind到某個埠上,等待 |
thrift source |
thrift |
同上,不過傳輸協議為thrift |
exec source |
exec |
執行一個unix command,以其std out作為資料來源; |
netcat source |
netcat |
監控指定埠,每一行作為一個event傳輸;認為輸入的資料為text的,每一行 |
http source |
http |
支援http的post和get(get僅僅用於測試) |
scribe source |
org.apache.flume.source.scribe.ScribeSource |
對scribe的相容 |
syslog source |
syslogtcp |
監聽syslog,支援tcp或者udp; |
sequence source |
seq |
用於測試,自動產生編號自增的資料 |
spooling directory source |
監控某個目錄下的所有檔案,將其新加入的檔案作為資料來源傳輸走; |
|
jms source |
jms |
從訊息佇列獲取資料。active mq |
使用者也可以自己實現source,繼承與類AbstractSource即可。配置時,type配置為類的全稱。
channel
channel |
||
|
type |
簡介 |
memory channel |
memory |
訊息放在記憶體中,提供高吞吐,但不提供可靠性; |
file channel |
file |
對資料持久化;但是配置較為麻煩,需要配置資料目錄和checkpoint目錄; |
jdbc channel |
jdbc |
內建的derb資料庫,對event進行了持久化,提供高可靠性; |
sinks
sinks,負責處理source來的資料,常用的如下:
flume支援的sink |
||
|
type |
簡介 |
hdfs sink |
hdfs |
將資料寫到hdfs上; |
logger sink |
logger |
採用logger,logger可以配置(可以直接輸出到控制檯,也可輸出到檔案); |
avro sink |
avro |
傳送給另外一個avro的source(當然也可以不是flume的source,可以是自己 |
thift sink |
thrift |
傳送給另外一個thrift的source |
IRC sink |
irc |
Internet Relay Chat |
file roll sink |
file_roll |
本地file,支援rotate(可配置大小、時間、event count來進行rotate); |
null sink |
null |
丟棄,等同於scribe的null store |
hbase sink |
hbase |
寫到hbase中;需要配置hbase的table,columnFamily等資訊; |
morphline solr sink |
org.apache.flume.sink.solr.morphline.MorphlineSolrSink |
Solr是一個基於Lucene java庫的企業級搜尋伺服器。 |
elastic search sink |
org.apache.flume.sink.elasticsearch.ElasticSearchSink |
類似的同上,換成了elasticsearch cluster |
custom sink |
$FQCN |
full qualified class name |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-1289937/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flume篇---Flume安裝配置與相關使用
- Linux環境Flume安裝配置及使用Linux
- linux maven安裝與配置LinuxMaven
- Linux mongodb 安裝與配置LinuxMongoDB
- centos7 (阿里雲、linux) 單機spark的安裝與配置詳解(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)CentOS阿里LinuxSparkJDKHadoop
- Flume監聽Nginx日誌流向HDFS安裝配置Nginx
- flume的安裝部署
- Linux下rsync安裝與配置Linux
- 本地windows搭建spark環境,安裝與詳細配置(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)WindowsSparkJDKHadoop
- linux apf 防火牆安裝與配置Linux防火牆
- linux安裝配置與基本命令Linux
- Linux mosquitoo的安裝與配置LinuxUI
- Linux Centos Netdata 安裝與配置LinuxCentOS
- Linux系統Tomcat安裝與配置。LinuxTomcat
- Linux下HelixServer的安裝與配置LinuxServer
- linux下Samba服務配置與安裝LinuxSamba
- Flume安裝及簡單部署
- linux基礎:1、linux簡介、虛擬化軟體的安裝與配置、Xshell的安裝與配置Linux
- Linux下Node.js的安裝與配置LinuxNode.js
- Tomcat在Linux上的安裝與配置TomcatLinux
- MacVim安裝與配置Mac
- [Redis] 安裝與配置Redis
- 【MongoDB】安裝與配置MongoDB
- 【Redis】安裝與配置Redis
- 【MySQL】安裝與配置MySql
- vim安裝與配置
- jdk安裝與配置JDK
- Rabbitmq安裝與配置MQ
- MySQL安裝與配置MySql
- Nginx安裝與配置Nginx
- Grafana 安裝與配置Grafana
- Redis安裝與配置Redis
- Mahout安裝與配置
- Spark安裝與配置Spark
- Nginx 安裝與配置Nginx
- 新版flume+kafka+storm安裝部署KafkaORM
- linux安裝配置kickstartLinux
- Linux安裝配置vncLinuxVNC