Fulme数据采集基本案例

一、数据收集工具

Hadoop业务的整体开发流程:

任何完整的大数据平台,一般都会包括以下的基本处理过程:

     数据采集

     数据 ETL

     数据 存储

     数据 计算/ 分析

     数据展现

其中,数据采集是所有数据系统必不可少的,随着大数据越来越被重视,数据采集的挑战也变的尤为突出。这其中包括:

     数据源多种多样

     数据量大,变化快

     如何保证数据采集的可靠性能

     如何避免重复数据

     如何保证数据的质量

我们今天就来看看当前可用的一些数据采集的产品,重点关注一些它们是如何做到高可靠,高性能和高扩展。

二、Fulme概念

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

1.Apache Flume 是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统,和Sqoop 同属于数据采集系统组件,但是 Sqoop 用来采集关系型数据库数据,而 Flume 用来采集流动型数据

2. Flume 名字来源于原始的近乎实时的日志数据采集工具,现在被广泛用于任何流事件数据的采集,它支持从很多数据源聚合数据到 HDFS。

3.一般的采集需求,通过对 flume 的简单配置即可实现。Flume 针对特殊场景也具备良好的自定义扩展能力,因此flume 可以适用于大部分的日常数据采集场景。

三、Flume核心组件

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

组件

功能

Agent

使用jvm运行Flume。每个机器运行一个agent,但一个agent可以运行多个sources和sinks

Client

生产数据,运行在一个独立的线程

Source

从Client收集数据传递给Channel

Sink

从Channel收集数据,运行在一个独立线程

Channel

连接sources和sinks,这个有点像一个队列

Events

可以使日志记录,avro对象。

 四、Flume安装及测试

1.上传flume安装包然后解压到/home/hadoop/apps/目录下

2.进入flume的目录,修改conf下的 flume-env.sh入下

3.配置环境变量 JAVA_HOME

五、测试

运行一个小程序实验下:

1.在$FLUME_HOME/agentconf(提前建文件夹)目录下创一个数据采集方案,创一个配置文件如下: netcat-logger.properties:

# 定义这个 agent 中各个组件的名字

a1.sources = r1

a1.sinks = k1

a1.channels = c1

# 描述和配置 source 组件:r1

a1.sources.r1.type = netcat

a1.sources.r1.bind = localhost

a1.sources.r1.port = 44444

# 描述和配置 sink 组件:k1

a1.sinks.k1.type = logger

# 描述和配置 channel 组件,此处使用是内存缓存的方式

a1.channels.c1.type = memory

a1.channels.c1.capacity = 1000

a1.channels.c1.transactionCapacity = 100

# 描述和配置 source channel sink 之间的连接关系

a1.sources.r1.channels = c1

a1.sinks.k1.channel = c1

2.yum源安装 nc

Sudo yum install -y nc

Sudo yum install -y telnet

3.启动agent去采集数据

在$FLUME_HOME 路径下执行如下命令

bin/flume-ng  agent  -c  conf -f agentconf/netcat-logger.properties  -n  a1  -Dflume.root.logger=INFO,console

-c conf 指定 flume 自身的配置文件所在目录

-f conf/netcat-logger.con 指定我们所描述的采集方案

-n a1 指定我们这个 agent 的名字

4. 测试

在本机节点使用nc localhost 44444就可以完成数据采集

服务器获得采集数据

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值