flume与kafka实战配置

flume与kafka实战配置

1. 概述

在实战中,产生日志文件的服务器和hadoop集群一般不是在同一个服务器上,这时需要使用Flume avro架构模型,在web服务器上搭建一个flume,在hadoop集群上搭建一个flume。在这方便测试我们使用如下架构测试.

2. Flume avro架构模型

3.flume-webserver.properties 配置文件

特别说明:下面配置是flume 1.6

exec_memmory_avro.sources =exec_source
exec_memmory_avro.sinks = avro_sink
exec_memmory_avro.channels = memory_channel

exec_memmory_avro.sources.exec_source.type = exec
exec_memmory_avro.sources.exec_source.command  =  tail -f /hadoopData/exe.log (方便测试,使用该向该文件输入内容)
 
exec_memmory_avro.sinks.avro_sink.type = avro
exec_memmory_avro.sinks.avro_sink.hostname = 192.168.126.32 (avro sink对接avro source的地址,一定要根据自己环境更改。也可用主机名)
exec_memmory_avro.sinks.avro_sink.port = 3033

exec_memmory_avro.channels.memory_channel.type = memory
exec_memmory_avro.channels.memory_channel.capacity = 1000
exec_memmory_avro.channels.memory_channel.transactionCapacity = 100

exec_memmory_avro.sources.exec_source.channels = memory_channel
exec_memmory_avro.sinks.avro_sink.channel = memory_channel

启动flume:  flume-ng agent --name exec_memmory_avro --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/flume-webserver.properties -Dflume.root.logger=INFO,console

4. flume-hadoop-cluster.properties 配置文件

特别说明:下面配置是flume 1.6

avro_memmory_kafka.sources =avro_source
avro_memmory_kafka.sinks = kafka_sink
avro_memmory_kafka.channels = memory_channel
 
avro_memmory_kafka.sources.avro_source.type = avro
avro_memmory_kafka.sources.avro_source.bind = 0.0.0.0  (相当于服务器绑定一个本机地址,0.0.0.0表示自动绑定本机地址)
avro_memmory_kafka.sources.avro_source.port = 3033   (需要与web的sink端保持一致)

avro_memmory_kafka.sinks.kafka_sink.type = org.apache.flume.sink.kafka.KafkaSink
avro_memmory_kafka.sinks.kafka_sink.topic = test11 (kafka上创建的topic)
avro_memmory_kafka.sinks.kafka_sink.brokerList = master:9092,slave1:9092,slave2:9092
avro_memmory_kafka.sinks.kafka_sink.batchSize = 3
avro_memmory_kafka.sinks.kafka_sink.requiredAcks = 1

avro_memmory_kafka.channels.memory_channel.type = memory
avro_memmory_kafka.channels.memory_channel.capacity = 1000
avro_memmory_kafka.channels.memory_channel.transactionCapacity = 100

avro_memmory_kafka.sources.avro_source.channels = memory_channel
avro_memmory_kafka.sinks.kafka_sink.channel = memory_channel

启动flume: flume-ng agent --name avro_memmory_kafka --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/flume-hadoop-cluster.properties -Dflume.root.logger=INFO,console

5. 启动软件说明

1)使用到kafka需要启动:

启动zookeeper: zkServer.sh start

启动kafka: kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties

启动kafka消费者:kafka-console-consumer.sh --zookeeper master:2181,slave1:2181,slave2:2181 --topic test11 --from begginning

2 ) 先启动hadoop集群的flume:

flume-ng agent --name avro_memmory_kafka --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/flume-hadoop-cluster.properties -Dflume.root.logger=INFO,console

启动web日志服务器的flume:
flume-ng agent --name exec_memmory_avro --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/flume-webserver.properties -Dflume.root.logger=INFO,console

3 ) 输入文件内容,看kafka消费者是否接收到内容

进入到hadoopData目录下,写入字符到exe.log中

echo flume-kafka-setting-testging>>exe.log

查看kafka消费者,是否接收到内容

6. 遇到的坑

flume配置首先要明白自己服务器上安装的flume版本,因为flume版本不一样配置是不一样,具体参看官网地址:
http://flume.apache.org/releases/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值