千家信息网

高可用flume-ng搭建

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,一、概述1.通过搭建高可用flume来实现对数据的收集并存储到hdfs上,架构图如下:二、配置Agent1.cat flume-client.properties#name the component
千家信息网最后更新 2025年01月31日高可用flume-ng搭建

一、概述

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


二、配置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

六、总结

高可用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类型如下:


配置 类型 数据 方式 模式 相同 内存 名称 均衡 常用 文件 机器 架构 端口 策略 建高 存储 测试 监听 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全软件认证标准三级 数据库表空间与数据文件 机房要配服务器吗 浙江正规网络技术分类价目表 好用的外文论文数据库 河北节能软件开发报价技术规范 福建水投公司软件开发 网络技术新进展 余姚透迅网络技术有限公司 方舟为什么加入不了别人的服务器 自学软件开发能做副业嘛 适时修订有关网络安全管理以及 乍得企业数据库 阿里云服务器按量付费 云南省国家网络安全宣传周 郧阳区软件开发包括哪些 盐城节能软件开发价格 河南第三方软件开发定制 服务器告警什么意思 成都网络安全巡查 华为做手机软件开发工资怎么样 sql数据库中二进制数据是什么 苏州电商软件开发哪里有 掌易互联网络有限科技公司 数据仓库是数据库的组成部分吗 人力资源数据库怎么找 启动根服务器 成都java软件开发工程师 语音服务器是英文怎么改成中文 数据库保存后就不能修改
0