集群规划

Flume集群,负载均衡和故障转移模式,笔者准备了3台机器安装了flume,其中webapp200是应用服务器,flume安装在这里,目的是收集应用服务器上的日志,通过2个avro sink分别对接到flume130和flume131机器;再通过flume130和flume131将数据传输到HDFS。(注:吞吐量大的channels可以换成kafka)。

Webapp200:TAILDIR -> file -> avro

Flume130:avro -> file -> hdfs

Flume131:avro -> file -> hdfs

流程图

下载安装

下载地址

官网:http://flume.apache.org/

解压

解压到/opt/module/目录

$ tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/module/

配置环境变量

配置JAVA_HOME

修改配置文件名称

$ mv flume-env.sh.template flume-env.sh

修改Flume-env.sh

$ vi conf/flume-env.sh

修改JAVA_HOME,修改成自己的JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_221

配置完后,将flume分发到其他机器

配置Agent

webapp200中的Agent

创建taildir-file-hdfs.conf,并添加如下内容:

# Name the components on this agenta1.sources = r1a1.sinks = k1 k2a1.channels = c1 # Describe/configure the sourcea1.sources.r1.type = TAILDIRa1.sources.r1.channels = c1a1.sources.r1.positionFile = /opt/module/apache-flume-1.9.0-bin/position/taildir_position.jsona1.sources.r1.filegroups = f1a1.sources.r1.filegroups.f1 = /opt/logs/info*.log* # Describe the sinkgroupsa1.sinkgroups = g1a1.sinkgroups.g1.sinks = k1 k2 k3a1.sinkgroups.g1.processor.type = load_balancea1.sinkgroups.g1.processor.backoff = truea1.sinkgroups.g1.processor.selector = round_robina1.sinkgroups.g1.processor.selector.maxTimeOut=10000 #Define the sink k1a1.sinks.k1.type = avroa1.sinks.k1.channel = c1a1.sinks.k1.hostname = flume130a1.sinks.k1.port = 4545 #Define the sink k2a1.sinks.k2.type = avroa1.sinks.k2.channel = c1a1.sinks.k2.hostname = flume131a1.sinks.k2.port = 4545 # Use a channel which buffers events in memorya1.channels.c1.type = filea1.channels.c1.checkpointDir=/opt/module/apache-flume-1.9.0-bin/data/checkpoint/balancea1.channels.c1.dataDirs=/opt/module/apache-flume-1.9.0-bin/data/balancea1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100 # Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1a1.sinks.k2.channel = c1

flume130和flume131中的Agent

# Name the components on this agenta1.sources = r1a1.sinks = k1a1.channels = c1 # Describe/configure the sourcea1.sources.r1.type = avroa1.sources.r1.channels = c1a1.sources.r1.bind = 0.0.0.0a1.sources.r1.port = 4545 # Describe the sinka1.sinks.k1.type = hdfsa1.sinks.k1.channel = c1a1.sinks.k1.hdfs.path = hdfs://hadoop100:9000/flume/events/%y-%m-%d/%Ha1.sinks.k1.hdfs.useLocalTimeStamp = truea1.sinks.k1.hdfs.filePrefix = events-a1.sinks.k1.hdfs.batchSize=100a1.sinks.k1.hdfs.fileType=DataStreama1.sinks.k1.hdfs.rollInterval=0a1.sinks.k1.hdfs.rollSize=134217700a1.sinks.k1.hdfs.rollCount=0a1.sinks.k1.hdfs.round = truea1.sinks.k1.hdfs.roundValue = 1a1.sinks.k1.hdfs.roundUnit = hour # Use a channel which buffers events in memorya1.channels.c1.type = filea1.channels.c1.checkpointDir=/opt/module/apache-flume-1.9.0-bin/data/checkpoint/balancea1.channels.c1.dataDirs=/opt/module/apache-flume-1.9.0-bin/data/balancea1.channels.c1.capacity = 1000a1.channels.c1.transactionCapacity = 100 # Bind the source and sink to the channela1.sources.r1.channels = c1a1.sinks.k1.channel = c1

注意HDFS sink 需要放置相应的jar包和xml配置文件到flume目录下,下载和使用链接(笔者亲测有效,注意版本):flume hdfs sink所需jar包(flume1.9.0 hadoop3.1.2)。

启动flume

启动命令

$ bin/flume-ng agent -n a1 -c conf -f job/taildir-file-avro.conf

后台启动,在结尾加上&

$ nohup bin/flume-ng agent -n a1 -c conf -f job/taildir-file-avro.conf &

再加上nohup可以把原本在console输出的运行日志输出在[当前运行目录]/nohup.out中

关闭flume

flume进程启动动没有关闭的命令,只能kill掉。

查看占用4545端口的进程ID

$ netstat -nap | grep 4545

或者直接jps找到flume进程,然后kill

$ kill [pid]

flume数据采集_大数据采集系统Flume集群部署相关推荐

  1. 【大数据】分布式集群部署

    1.集群规划部署 节点名称 NN1 NN2 DN  RM NM hadoop01 NameNode   DataNode   NodeManager hadoop02   SecondaryNameN ...

  2. 大数据介绍及集群安装

    大数据介绍及集群安装 第一部分 <大数据概述> 传统数据如何处理? 什么是大数据? 传统数据与大数据的对比 大数据的特点? 大数据前/后服务器系统安装部署区别是什么?. 大数据生态系统以及 ...

  3. 大数据介绍、集群环境搭建、Hadoop介绍、HDFS入门介绍

    大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 文章目录 大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 1.课前资料 2.课程整体介绍 3.大数据介绍 3.1 什么是大数 ...

  4. 使用跳板机实现外网访问局域网内虚拟机的大数据及K8S集群【借助向日葵】

    使用跳板机实现外网访问局域网内虚拟机的大数据及K8S集群[借助向日葵] 前言 笔者作为一杆大数据学徒工,工作和学习中都需要有几套属于自己的集群. 双路e5主机:https://lizhiyong.bl ...

  5. 云计算大数据之 Kafka集群搭建

    云计算大数据之 Kafka集群搭建 版权声明: 本文为博主学习整理原创文章,如有不正之处请多多指教. 未经博主允许不得转载.https://blog.csdn.net/qq_42595261/arti ...

  6. DM数据库主备集群部署

    DM数据库主备集群部署 一.部署规划 主备集群作为最简单的高可用架构,顾名思义为主对外提供数据服务,备库作为备库,故障发生时可以进行数据库主备切换.而切换可分为自动切换和手动切换两种模式.下面介绍的是 ...

  7. 大数据运维 | 集群_监控_CDH_Docker_K8S_两项目_云服务器

    说明:大数据时代,传统运维向大数据运维升级换代很常见,也是个不错的机会.如果想系统学习大数据运维,个人比较推荐通信巨头运维大咖的分享课程,主要是实战强.含金量高.专注度高,有6个专题+2个大型项目+腾 ...

  8. Laxcus大数据管理系统单机集群版

    Laxcus大数据管理系统是我们Laxcus大数据实验室历时5年,全体系全功能设计研发的大数据产品,目前的最新版本是2.1版本.从三年前的1.0版本开始,Laxcus大数据系统投入到多个大数据和云计算 ...

  9. 错过必定后悔的干货!深入解析大数据行业的集群架构方案

    随着大数据的日益普及,很多人对大数据越来越感兴趣,有些程序开发者也跃跃欲试,但是苦于不会搭建集群环境,而常常被拦在大数据的门槛之外. 通过这次疫情,我相信各位也看见了,大数据真的很重要.从患者数字地图 ...

最新文章

  1. 搭建 LEGO EV3 的 PyCharm Python 开发环境
  2. java web的动静分离_Apache结合Tomcat实现动静分离的方法
  3. LC-BLSTM结构快速解读
  4. userdel删除用户失败提示:userdel: user * is currently logged in 解决方法
  5. WebStorm 2018.3.4破解方式
  6. GRE tunnel 2
  7. 关于SVN状态图标不显示的解决办法(史上最全)
  8. 根据吴安德(斯坦福大学深度学习讲座),您应该如何阅读研究论文
  9. 怎样任意裁剪图片?如何快速改变图片形状?
  10. java选填_java-选择填空题库
  11. php的4种标记风格,PHP4种标记风格的认识
  12. any, never, unknown的区别
  13. 在tecplot中计算Q准则
  14. 广告传媒----数字营销解决方案
  15. 微信小程序——(2)智慧商圈、微信支付快速积分到账小程序开发指引
  16. mysql ansi nulls_SQL学习笔记之ANSI_NULLS
  17. 计算机科学哲学研究进展
  18. bzoj 1050: [HAOI2006]旅行comf(并查集)
  19. 汽车产业互联网如何跟上“智能”和“市场”节奏
  20. 项目管理.StandMeeting站立会议

热门文章

  1. Dev控件GridControl 的使用
  2. 新年计划书...2012-01-01
  3. Google code jam 2008, Qualification Round:Save the Universe, 翻译
  4. 【20090702-03】ArcEngine的类库介绍(转)
  5. macos下卸载软件
  6. 深度优先搜索——First Step(洛谷 P3654)
  7. PAT乙级(1020 月饼)
  8. kafka redis vs 发布订阅_发布订阅的消息系统 Kafka的深度解析
  9. 今晚8点直播丨 经典知识库:性能优化那些事
  10. 今晚直播丨EsgynDB SQL优化专题