Flume入门之helloworld

Flume简介

Flume 是Cloudera 提供一个高可用的,高可靠的,分布式海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。

为什么选用Flume

Flume 最主要的作用就是实时读取服务器本地磁盘的数据,将数据写入到HDFS。

Flume Agent架构

输入叫作源(Source)

输出叫作接收器(Sink)

通道(Channel)提供了Source与Sink之间的胶水

它们都运行在叫作代理(Agent)的守护进程中。

下面是Apache Flume官网提供的架构图,与上图对比。

总结:

源(Source)将事件(Event)写到一个或多个通道(Channel)中。

通道(Channel)作为事件(Event)从源(Source)到接收器(Sink)传递的保留区。

接收器(Sink)只从一个通道(Channel)接收事件(Event)。

代理可能会有多个源、通道、接收器。

Flume事件

Flume传输的基本的数据负载叫作事件(Event)。事件由0个或多个头与体组成。头是一些键值对,可用于路由判断或者承载其他的结构化信息(比如事件的时间戳或是发出事件的服务器主机名)。

 

Flume从"Hello World开始"

agent1.sources=s1
agent1.channels=c1
agent1.sinks=k1

# 源
agent1.sources.s1.type=netcat
agent1.sources.s1.channels=c1
agent1.sources.s1.bind=0.0.0.0
agent1.sources.s1.port=12345

# 内存通道
agent1.channels.c1.type=memory

# 配置接收器的类型为logger,用于调试与测试。使用log4j将所有info级别的日志记录下来。
agent1.sinks.k1.type=logger
# 一个接收器只能从一个通道接收数据
agent1.sinks.k1.channel=c1

启动flume

bin]# ./flume-ng agent -n agent1 -c conf  -f ../conf/flume.conf -Dflume.root.logger=INFO,console

安装nc:yum install -y nc

>nc localhost 12345

hello

可以在flume控制台看到接收到的数据hello

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值