分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

高可用flume-ng搭建

发布时间:2023-09-06 01:08责任编辑:顾先生关键词:暂无标签

一、概述

1.通过搭建高可用flume来实现对数据的收集并存储到hdfs上,架构图如下:

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M01/05/CC/wKiom1msukvhD4OfAACMzR0FBDM139.png" title="301254248495863 (1).png" alt="wKiom1msukvhD4OfAACMzR0FBDM139.png" />


二、配置Agent

1.cat flume-client.properties

#name the components on this agent  声明source、channel、sink的名称  a1.sources = r1  a1.sinks = k1 k2  a1.channels = c1    #Describe/configure the source    声明source的类型为通过tcp的方式监听本地端口5140  a1.sources.r1.type = syslogtcp  a1.sources.r1.port = 5140  a1.sources.r1.host = localhost  a1.sources.r1.channels = c1    #define sinkgroups   此处配置k1、k2的组策略,类型为均衡负载方式  a1.sinkgroups=g1  a1.sinkgroups.g1.sinks=k1 k2  a1.sinkgroups.g1.processor.type=load_balance  a1.sinkgroups.g1.processor.backoff=true  a1.sinkgroups.g1.processor.selector=round_robin    #define the sink 1数据流向,都是通过avro方式发到两台collector机器  a1.sinks.k1.type=avro  a1.sinks.k1.hostname=hadoop1 a1.sinks.k1.port=5150    #define the sink 2  a1.sinks.k2.type=avro  a1.sinks.k2.hostname=hadoop2a1.sinks.k2.port=5150      # Use a channel which buffers events in memory   指定channel的类型为内存模式a1.channels.c1.type = memory  a1.channels.c1.capacity = 1000  a1.channels.c1.transactionCapacity = 100    # Bind the source and sink to the channel  a1.sources.r1.channels = c1  a1.sinks.k1.channel = c1  a1.sinks.k2.channel=c1

#a2和a3的配置和a1相同

三、配置Collector

1.cat flume-server.properties

#name the components on this agent  声明source、channel、sink的名称collector1.sources = r1  collector1.channels = c1collector1.sinks = k1    # Describe the source   声明source的类型为avrocollector1.sources.r1.type = avro  collector1.sources.r1.port = 5150  collector1.sources.r1.bind = 0.0.0.0  collector1.sources.r1.channels = c1      # Describe channels c1 which buffers events in memory 指定channel的类型为内存模式collector1.channels.c1.type = memory  collector1.channels.c1.capacity = 1000  collector1.channels.c1.transactionCapacity = 100    # Describe the sink k1 to hdfs  指定sink数据流向hdfscollector1.sinks.k1.type = hdfs  collector1.sinks.k1.channel = c1  collector1.sinks.k1.hdfs.path = hdfs://master/user/flume/logcollector1.sinks.k1.hdfs.fileType = DataStream  collector1.sinks.k1.hdfs.writeFormat = TEXT  collector1.sinks.k1.hdfs.rollInterval = 300  collector1.sinks.k1.hdfs.filePrefix = %Y-%m-%d  collector1.sinks.k1.hdfs.round = true  collector1.sinks.k1.hdfs.roundValue = 5  collector1.sinks.k1.hdfs.roundUnit = minute  collector1.sinks.k1.hdfs.useLocalTimeStamp = true

#collector2配置和collector1相同


四、启动

1.在Collector上启动fulme-ng

flume-ng agent -n collector1 -c conf -f /usr/local/flume/conf/flume-server.properties -Dflume.root.logger=INFO,console# -n 后面接配置文件中的Agent Name

2.在Agent上启动flume-ng

flume-ng agent -n a1 -c conf -f /usr/local/flume/conf/flume-client.properties -Dflume.root.logger=INFO,console


五、测试

[root@hadoop5 ~]#  echo "hello" | nc localhost 5140    #需要安装nc
17/09/03 22:56:58 INFO source.AvroSource: Avro source r1 started.17/09/03 22:59:09 INFO ipc.NettyServer: [id: 0x60551752, /192.168.100.15:34310 => /192.168.100.11:5150] OPEN17/09/03 22:59:09 INFO ipc.NettyServer: [id: 0x60551752, /192.168.100.15:34310 => /192.168.100.11:5150] BOUND: /192.168.100.11:515017/09/03 22:59:09 INFO ipc.NettyServer: [id: 0x60551752, /192.168.100.15:34310 => /192.168.100.11:5150] CONNECTED: /192.168.100.15:3431017/09/03 23:03:54 INFO hdfs.HDFSDataStream: Serializer = TEXT, UseRawLocalFileSystem = false17/09/03 23:03:54 INFO hdfs.BucketWriter: Creating hdfs://master/user/flume/log/2017-09-03.1504494234038.tmp

650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/05/CD/wKiom1msw3yjWiPAAAAi14Jyd8g258.png" title="捕获.PNG" alt="wKiom1msw3yjWiPAAAAi14Jyd8g258.png" />六、总结

高可用flume-ng一般有两种模式:load_balance和failover。此次使用的是load_balance,failover的配置如下:

#set failovera1.sinkgroups.g1.processor.type = failovera1.sinkgroups.g1.processor.priority.k1 = 10a1.sinkgroups.g1.processor.priority.k2 = 1a1.sinkgroups.g1.processor.maxpenalty = 10000

一些常用的source、channel、sink类型如下:

650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/A4/7E/wKioL1msxPPx9ZJgAAB6kCTTeA4732.png" title="未命名图片.png" alt="wKioL1msxPPx9ZJgAAB6kCTTeA4732.png" />


本文出自 “lullaby” 博客,请务必保留此出处http://lullaby.blog.51cto.com/10815696/1962460

高可用flume-ng搭建

原文地址:http://lullaby.blog.51cto.com/10815696/1962460

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved