flume安裝以及應用
下載
//wget http://mirrors.tuna.tsinghua.edu.cn/apache/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz
wget http://mirrors.hust.edu.cn/apache/flume/1.8.0/apache-flume-1.8.0-bin.tar.gz
解壓
tar –zxvf apache-flume-1.8.0-bin.tar.gz
mv apache-flume-1.8.0-bin /usr/local/flume
3) 設定環境變數
Vim /etc/profile.d/flume.sh
Source /etc/profile
4) 配置java_home
cp flume-env.sh.template flume-env.sh
vim flume-env.sh
視覺化:
--------------
1.
2.
3.
4.
5.
package com.it18zhang.callloggen;
import java.util.HashMap;
import java.util.Map;
/**
*
*/
public class App {
public static Map<String,String> caller = new HashMap<String, String>();
static{
caller.put("15810092493", "史玉龍");
caller.put("18000696806", "趙賀彪");
caller.put("15151889601", "張倩 ");
caller.put("13269361119", "王世昌");
caller.put("15032293356", "張濤");
caller.put("17731088562", "張陽");
caller.put("15338595369", "李進全");
caller.put("15733218050", "杜澤文");
caller.put("15614201525", "任宗陽");
caller.put("15778423030", "樑鵬");
caller.put("18641241020", "郭美彤");
caller.put("15732648446", "劉飛飛");
caller.put("13341109505", "段光星");
caller.put("13560190665", "唐會華");
caller.put("18301589432", "楊力謀");
caller.put("13520404983", "溫海英");
caller.put("18332562075", "朱尚寬");
caller.put("18620192711", "劉能宗");
}
public static void main(String[] args) {
genCallLog();
}
public static void genCallLog(){
}
生成jar包,部署到centos執行
--------------------------------
1.使用maven生成jar檔案
...
2.部署到centos
3.執行
$>mkdir /home/centos/calllog
java -cp calllog.jar com.it18zhang.callloggen.App /home/logs/calllog/calllog.log
4.建立centos上的執行指令碼
[calllog.sh]
#!/bin/bash
java -cp calllog.jar com.it18zhang.callloggen.App /home/logs/calllog/calllog.log
5.修改許可權
$>chmod a+x calllog.sh
6.執行指令碼
$>cd ~/calllog
$>./calllog.sh
手機號
---------------
0755-67568979
186----------
086+0755-67568979
固話
--------------
0755-67568979
0755-67568979
網路電話
-------------
12358757575765656565
啟動zk叢集[s201 + s202 + s203]
-------------
$>zkServer.sh start
啟動kafka叢集[s202 + s203 + s204]
-----------------
$>cd /soft/kafka/config
$>kafka-server-start.sh -daemon server.properties
建立kafka主題
-----------------
//建立主題
$>kafka-topics.sh --zookeeper s202:2181 --topic calllog --create --replication-factor 3 --partitions 4
//檢視主題列表
$>kafka-topics.sh --zookeeper s202:2181 --list
//啟動控制檯消費者,消費calllog主題,用於測試.
$>kafka-console-consumer.sh --zookeeper s201:2181 --topic calllog
topic consumer均在zookeeper上
s201上編寫flume配置檔案件,實時收集calllog.log日誌
--------------------------------------------
1.配置檔案
[/soft/flume/conf/calllog.conf]
a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type=exec
#-F 最後10行,如果從頭開始收集 -c +0 -F:持續收集後續資料,否則程序停止。
a1.sources.r1.command=tail -F -c +0 /home/centos/calllog/calllog.log
a1.channels.c1.type=memory
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.kafka.topic = calllog
a1.sinks.k1.kafka.bootstrap.servers = s202:9092 s203:9092 s204:9092
a1.sinks.k1.kafka.flumeBatchSize = 20
a1.sinks.k1.kafka.producer.acks = 1
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
2.啟動flume收集程式
$>./flume-ng agent -f /home/appinstall/installed/apache-flume-1.8.0-bin/conf/calllog.conf -n a1 &
在s202主機安裝flume軟體
flume例子: