flume讀取日誌資料寫入kafka 然後kafka+storm整合
一、flume配置
flume要求1.6以上版本
flume-conf.properties檔案配置內容,sinks的輸出作為kafka的product
- a1.sources = r1
- a1.sinks = k1
- a1.channels = c1
- # Describe/configure the source
- a1.sources.r1.type = exec
- a1.sources.r1.command = tail -F /home/airib/work/log.log
- # Describe the sink
-
#a1.sinks.k1.type
- a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
- a1.sinks.k1.topic = test
- a1.sinks.k1.brokerList = localhost:9092
- a1.sinks.k1.requiredAcks = 1
- a1.sinks.k1.batchSize = 20
- # Use a channel which buffers events in memory
- a1.channels.c1.type = memory
-
a1.channels.c1.capacity =
- a1.channels.c1.transactionCapacity = 100
- # Bind the source and sink to the channel
- a1.sources.r1.channels = c1
- a1.sinks.k1.channel = c1
flume啟動
bin/flume-ng agent --conf conf --conf-file conf/flume-conf.properties --name a1 -Dflume.root.logger=INFO,console
-
package com.hgp.kafka.kafka;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Properties;
- import kafka.consumer.ConsumerConfig;
- import kafka.consumer.ConsumerIterator;
- import kafka.consumer.KafkaStream;
- import kafka.javaapi.consumer.ConsumerConnector;
- import kafka.serializer.StringDecoder;
- import kafka.utils.VerifiableProperties;
- public class KafkaConsumer {
- private final ConsumerConnector consumer;
- private KafkaConsumer() {
- Properties props = new Properties();
- //zookeeper 配置
- props.put("zookeeper.connect", "localhost:2181");
- //group 代表一個消費組
- props.put("group.id", "jd-group");
- //zk連線超時
- props.put("zookeeper.session.timeout.ms", "4000");
- props.put("zookeeper.sync.time.ms", "200");
- props.put("auto.commit.interval.ms", "1000");
- props.put("auto.offset.reset", "smallest");
- //序列化類
- props.put("serializer.class", "kafka.serializer.StringEncoder");
- ConsumerConfig config = new ConsumerConfig(props);
- consumer = kafka.consumer.Consumer.createJavaConsumerConnector(config);
- }
- void consume() {
- Map<String, Integer>topicCountMap = new HashMap<String, Integer>();
- topicCountMap.put("test", new Integer(1));
- StringDecoder keyDecoder = new StringDecoder(new VerifiableProperties());
- StringDecoder valueDecoder = new StringDecoder(new VerifiableProperties());
- Map<String, List<KafkaStream<String, String>>>consumerMap =
- consumer.createMessageStreams(topicCountMap,keyDecoder,valueDecoder);
- KafkaStream<String, String>stream = consumerMap.get("test").get(0);
- ConsumerIterator<String, String>it = stream.iterator();
- while (it.hasNext())
- System.out.println(it.next().message());
- }
- public static void main(String[] args) {
- new KafkaConsumer().consume();
- }
- }
kafka啟動命令
啟動Zookeeper server:
bin/zookeeper-server-start.sh config/zookeeper.properties &
啟動Kafka server:
bin/kafka-server-start.sh config/server.properties &
執行producer:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
執行consumer:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
二、示例
- package com.hgp.kafka.kafka;
- import java.util.Arrays;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.Map.Entry;
- import java.util.concurrent.atomic.AtomicInteger;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import storm.kafka.BrokerHosts;
- import storm.kafka.KafkaSpout;
- import storm.kafka.SpoutConfig;
- import storm.kafka.StringScheme;
- import storm.kafka.ZkHosts;
- import backtype.storm.Config;
- import backtype.storm.LocalCluster;
- import backtype.storm.StormSubmitter;
- import backtype.storm.generated.AlreadyAliveException;
- import backtype.storm.generated.InvalidTopologyException;
- import backtype.storm.spout.SchemeAsMultiScheme;
- import backtype.storm.task.OutputCollector;
- import backtype.storm.task.TopologyContext;
- import backtype.storm.topology.OutputFieldsDeclarer;
- import backtype.storm.topology.TopologyBuilder;
- import backtype.storm.topology.base.BaseRichBolt;
- import backtype.storm.tuple.Fields;
- import backtype.storm.tuple.Tuple;
-
相關推薦
flume讀取日誌資料寫入kafka 然後kafka+storm整合
一、flume配置 flume要求1.6以上版本 flume-conf.properties檔案配置內容,sinks的輸出作為kafka的product a1.sources = r1 a1.sinks = k1 a1.cha
flume讀取日誌資料寫入kafka
一、flume配置 flume要求1.6以上版本 flume-conf.properties檔案配置內容,sinks的輸出作為kafka的product a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/
Flume讀取日誌資料並寫入到Kafka,ConsoleConsumer進行實時消費
最近大資料學習使用了Flume、Kafka等,今天就實現一下Flume實時讀取日誌資料並寫入到Kafka中,同時,讓Kafka的ConsoleConsumer對日誌資料進行消費。 1、Flume F
電商大資料分析平臺(三)nginx配置及flume讀取日誌資訊
一、nginx配置 在本專案中nginx的作用只是接收客戶端傳送的事件,並將相應的session寫入日誌檔案中,所以配置較為簡單,只需要配置寫入的日誌檔案和寫入的格式 1.地址配置 server { listen
程式碼 | Spark讀取mongoDB資料寫入Hive普通表和分割槽表
版本: spark 2.2.0 hive 1.1.0 scala 2.11.8 hadoop-2.6.0-cdh5.7.0 jdk 1.8 MongoDB 3.6.4 一 原始資料及Hive表 MongoDB資
Flume+hbase 日誌資料採集與儲存
瞭解過flume的人,差不多都看過這張或則類似的圖片,本文即實現上圖部分內容。(由於條件有限,目前是單機上實現) flume-agent配置檔案 #flume agent conf source_agent.sources = server source_agent.si
Flume實現日誌資料夾資料載入到HDFS
Flume是一種分散式,可靠和可用的服務,用於高效收集,聚合和移動大量日誌資料。 它具有基於資料流的簡單和可伸縮的架構。 它具有可靠性機制和故障切換和恢復機制的魯棒性和容錯能力。 vi corp_base_info.conf a1.sources = r1
Apache Kafka -7 與Storm整合
Apache Kafka教程 之 與Storm整合 Apache Kafka - 與Storm整合 關於Storm Storm最初是由Nathan Marz和BackType建立的。在短時間內,Apache Storm成為分散式實時
filebeat讀取nginx日誌並寫入kafka
com res 讀取 code inpu file max eat compress filebeat寫入kafka的配置: filebeat.inputs: - type: log paths: - /tmp/access.log tags: ["ngin
通過flume把日誌檔案內容寫入kafka主題
首先自行安裝flume和 kafka當然還要jdk,我flume版本是1.6的kafka版本2.11,jdk1.8。 首先在路徑flume下的conf裡面建立一個logtokafka.conf檔案進行配置配置內容如下。 agent.sources=r1 agent.sinks=k1 agen
[大資料] 搜尋日誌資料採集系統 flume+hbase+kafka架構 (資料搜狗實驗室)
1 採集規劃 說明: D1 日誌所在伺服器1 —bigdata02.com D2 日誌所在伺服器2 —bigdata03.com 日誌收集 日誌收集 日誌整合 儲存到kafka 儲存到HBase 2版本 kafka kafka_2.11-0.10
Flume, Kafka和NiFi,大資料實時日誌資料收集、資料獲取技術哪家強?
作者Tony Siciliani 本文為36大資料獨譯,譯者:隨風 我們在建設一個大資料管道時,需要在Hadoop生態系統前仔細考慮,如何獲取大體量、多樣化以及高速性的資料。在決定採用何種工具以滿足我們的需求時,最初對於擴充套件性、可靠性、容錯性以及成本的考慮便發揮了作
spark讀取kafka資料寫入hbase
package com.prince.demo.test import java.util.UUID import com.typesafe.config.{Config, ConfigFactory} import org.apache.hadoop.hbase.HBa
flume 讀取kafka 資料
本文介紹flume讀取kafka資料的方法 程式碼: /******************************************************************************* * Licensed to the Apache So
《從0到1學習Flink》—— Flink 讀取 Kafka 資料寫入到 RabbitMQ
開發十年,就只剩下這套架構體系了! >>>
logstash寫入到kafka和從kafka讀取日誌
使用 read ads oot put ssa tar json acc 收集nginx日誌放到kafka 修改nginx日誌格式:[nginx日誌格式修改](https://blog.51cto.com/9025736/2373483) input { file {
flume 讀取kafka 數據
any from 原來 string strac span value ive erro 本文介紹flume讀取kafka數據的方法 代碼: /*********
IO流讀取資料檔案,將資料寫入資料庫,並記錄資料匯入日誌
流程分析: 資料型別: ROUTE_ID,LXBM,ROAD_NAME,SRC_LON,SRC_LAT,DEST_LON,DEST_LAT 10000,G50,滬渝高速,115.8605349,30.08934467,115.5437817,30.08898601 10001,G
在idea下使用java將Log4j日誌實時寫入Kafka(Kafka實時日誌寫入)
本篇文章主要介紹在windows下使用idea新建web專案將Log4j日誌實時寫入Kafka。 簡要步驟: ①、新建web專案 ②、啟動zookeeper ③、啟動Kafka ④、建立topic ⑤、啟動 Kafka 消費者,執行專案,觀察Kafka 消費者的控制檯 &
flume讀取binlog與kafka整合
一、現將kafka調通 檢視zookeeper的topic cd /usr/software/zookeeper/zookeeper/bin ./zkCli.sh start ls /brokers/topics 先來說一下,刪除kafka