高可用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软件开发工程师
语音服务器是英文怎么改成中文
数据库保存后就不能修改