大数据【八】Flume部署

如果说大数据中分布式收集日志用的是什么,你完全可以回答Flume!(面试小心问到哦)

首先说一个复制本服务器文件到目标服务器上,需要目标服务器的ip和密码:

命令:  scp  filename   ip:目标路径

一  概述

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。

当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X版本的统称Flume-ng。由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。

Flume-og采用了多Master的方式。为了保证配置数据的一致性,Flume引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。

Flume-ng最明显的改动就是取消了集中管理配置的 Master 和 Zookeeper,变为一个纯粹的传输工具。Flume-ng另一个主要的不同点是读入数据和写出数据现在由不同的工作线程处理(称为 Runner)。 在 Flume-og 中,读入线程同样做写出工作(除了故障重试)。如果写出慢的话(不是完全失败),它将阻塞 Flume 接收数据的能力。这种异步的设计使读入线程可以顺畅的工作而无需关注下游的任何问题。

Flume以agent为最小的独立运行单位。一个agent就是一个JVM。单agent由Source、Sink和Channel三大组件构成。

二  启动Flume集群

1‘  首先,启动Hadoop集群(详情见前博客)。

2’  其次,(剩下的所有步骤只需要在master上操作就可以了)安装并配置Flume任务,内容如下:

    将Flume 安装包解压到/usr/cstor目录,并将flume目录所属用户改成root:root。

        tar -zxvf flume-1.5.2.tar.gz -c /usr/cstor

        chown -R root:root /usr/cstor/flume

      

3‘  进入解压目录下,在conf目录下新建test.conf文件并添加以下配置内容:

 1 #定义agent中各组件名称
 2 agent1.sources=source1
 3 agent1.sinks=sink1
 4 agent1.channels=channel1
 5 # source1组件的配置参数
 6 agent1.sources.source1.type=exec
 7 #此处的文件/home/source.log需要手动生成,见后续说明
 8 agent1.sources.source1.command=tail -n +0 -F /home/source.log
 9 # channel1的配置参数
10 agent1.channels.channel1.type=memory
11 agent1.channels.channel1.capacity=1000
12 agent1.channels.channel1.transactionCapactiy=100
13 # sink1的配置参数
14 agent1.sinks.sink1.type=hdfs
15 agent1.sinks.sink1.hdfs.path=hdfs://master:8020/flume/data
16 agent1.sinks.sink1.hdfs.fileType=DataStream
17 #时间类型
18 agent1.sinks.sink1.hdfs.useLocalTimeStamp=true
19 agent1.sinks.sink1.hdfs.writeFormat=TEXT
20 #文件前缀
21 agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d-%H-%M
22 #60秒滚动生成一个文件
23 agent1.sinks.sink1.hdfs.rollInterval=60
24 #HDFS块副本数
25 agent1.sinks.sink1.hdfs.minBlockReplicas=1
26 #不根据文件大小滚动文件
27 agent1.sinks.sink1.hdfs.rollSize=0
28 #不根据消息条数滚动文件
29 agent1.sinks.sink1.hdfs.rollCount=0
30 #不根据多长时间未收到消息滚动文件
31 agent1.sinks.sink1.hdfs.idleTimeout=0
32 # 将source和sink 绑定到channel
33 agent1.sources.source1.channels=channel1
34 agent1.sinks.sink1.channel=channel1

4‘  然后,在HDFS上创建/flume/data目录:

      cd /usr/cstor/hadoop/bin

      ./hdfs dfs -mkdir /flume

      ./hdfs dfs -mkdir /flume/data

5‘  最后,进入Flume安装的bin目录下

      cd /usr/cstor/flume/bin

6‘  启动Flume,开始收集日志信息。

      ./flume-ng agent --conf conf --conf-file /usr/cstor/flume/conf/test.conf --name agent1 -Dflume.root.logger=DEBUG,console

      !!!>>运行此命令有时候会出现一个权限问题,此时需要用命令   chmod o+x  flume-ng

    如果正常运行,最后悔显示  started,如图:

三  收集日志

1’  启动成功之后需要手动生成消息源即配置文件中的/home/source.log,使用如下命令去不断的写入文字到/home/source.log中:

      

2‘  到此就可以去查看生成结果:

      

小结:

  这只是配置Flume,然后简单的读写日志。想要深入下去,还要收集更复杂,更庞大的日志

      

      

时间: 2024-10-15 20:16:28

大数据【八】Flume部署的相关文章

FusionInsight大数据开发---Flume应用开发

Flume应用开发 要求: 了解Flume应用开发适用场景 掌握Flume应用开发 Flume应用场景Flume的核心是把数据从数据源收集过来,在送到目的地.为了保证输送一定成功,发送到目的地之前,会先缓存数据,待数据真正的到达目的地后,删除自己缓存的数据.Flume采用流式方法采集和传输数据,程序配置好后,不需要外部条件触发下,一直监控数据源,源源不断地采集.传送数据到目的地. 主要应用于一下几种场景: 将分布式节点上大量数据实时采集.汇总和转移 将集群内.外地本地文件.实时数据流采集到Fus

成都大数据Hadoop与Spark技术培训班

成都大数据Hadoop与Spark技术培训班 中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师.开发设计人员的工作水平,旨在培养专业的大数据Hadoop与Spark技术架构专家,更好地服务于各个行业的大数据项目开发和落地实施. 2015年近期公开课安排:(全国巡回开班) 08月21日——08月23日大连 09月23日——09月25日北京 10月16日——10月18日成都 11月27日——11月2

大数据系列文章汇总 - 更新到15篇

转自:http://blog.csdn.net/matthewei6/article/details/50615816 大数据(一) - hadoop生态系统及版本演化大数据(二) - HDFS大数据(三) - YARN大数据(四) - MapReduce大数据(五) - HBase大数据(六) - ZooKeeper大数据(七) - Flume大数据(八) - Sqoop大数据(九) - Hive大数据(十) - Pig大数据(十一) - Mahout大数据(十二) - Oozie大数据(十三

程序员想玩转大数据:需要知晓的12种工具

转自 :http://www.csdn.net/article/2012-12-20/2813054-Database 无论是在构建大数据的应用程序,还是仅仅只想从开发的移动应用中得到一点点启发,程序员现在比以往任何时候都需要数据分析工具.这绝对是一个好东西,所以很多公司从程序员的需求和技能出发,构建了一些数据分析工具.GigaOm的记者Derrick Harris列举了十二个工具,CSDN进行了编译整理: 在过去的几年里,Derrick看到了很多初创公司,各类项目以及开发工具等等,它们都旨在为

学习大数据基础框架hadoop需要什么基础

什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1MB大约等于一百万字节).GB(1024MB).TB(1024GB),一直向上攀升,目前,PB(等于1024TB)级的数据系统已经很常见,随着移动个人数据.社交网站.科学计算.证券交易.网站日志.传感器网络数据量的不断加大,国内拥有的总数据量早已超出 ZB(1ZB=1024EB,1EB=1024PB

学习hadoop大数据基础框架需要什么基础

什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1MB大约等于一百万字节).GB(1024MB).TB(1024GB),一直向上攀升,目前,PB(等于1024TB)级的数据系统已经很常见,随着移动个人数据.社交网站.科学计算.证券交易.网站日志.传感器网络数据量的不断加大,国内拥有的总数据量早已超出 ZB(1ZB=1024EB,1EB=1024PB

大快大数据平台架构设计的构成模块

大数据也不是近几年才出现的新东西,只是最近几年才真正意义上变得热门.火爆!而这要得益于互联网信息技术的快速发展,网络改变世界.改变生活,大数据技术的应用让这样的改变更为深刻.关注大数据或者是互联网方面新闻的人应该知道,大数据已经上升到了国家战略的高度.可以说这是时代发展的必然趋势,从国家战略层面推进大数据技术的普及与应用,一个至关重要且非常核心的问题--数据安全问题就非常突出.解决数据安全问题,必然要回归到大数据开发所使用的框架!国内的大数据开发起步较晚于国外,所有关于大数据大开发的各种标准和规

大快大数据技术架构的构成模块

大数据也不是近几年才出现的新东西,只是最近几年才真正意义上变得热门.火爆!而这要得益于互联网信息技术的快速发展,网络改变世界.改变生活,大数据技术的应用让这样的改变更为深刻. 关注大数据或者是互联网方面新闻的人应该知道,大数据已经上升到了国家战略的高度.可以说这是时代发展的必然趋势,从国家战略层面推进大数据技术的普及与应用,一个至关重要且非常核心的问题--数据安全问题就非常突出.解决数据安全问题,必然要回归到大数据开发所使用的框架! 国内的大数据开发起步较晚于国外,所有关于大数据大开发的各种标准

0基础学习大数据你需要了解的学习路线和方向

现在大数据这么火,各行各业想转行大数据,那么问题来了,该往哪方面发展,哪方面最适合自己? 首先从字面来了解一下大数据 大数据 (巨量数据集合(IT行业术语)) 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产. 大数据的5V特点(IBM提出):Volume(大量).Velocity(高速).Variety(多样).Value(低价值密度).Veracit

学习大数据要什么基础?0基础的学习路线和方向

现在大数据这么火,各行各业想转行大数据,那么问题来了,该往哪方面发展,哪方面最适合自己?首先从字面来了解一下大数据 大数据 (巨量数据集合(IT行业术语)) 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产.数据的5V特点(IBM提出):Volume(大量).Velocity(高速).Variety(多样).Value(低价值密度).Veracity(真