flume-1.7.0 简单使用

本文介绍了Apache Flume的基础使用,包括配置文件的编写,如source、channel和sink的设置,以及如何启动agent。通过example.conf配置文件,展示了Flume如何从netcat接收数据并输出到logger。进一步讨论了Avro数据源到HDFS和Kafka的配置,强调了启动Hadoop集群的重要性。最后,提到了Flume与Kafka的整合,创建Kafka消费者消费Flume发送的数据。

在上一篇中,我们安装了 flume-ng,这一篇我们就来简单使用一下。

这里写图片描述

官网上是这么介绍的,我们需要指定一个配置文件,需要定义一个 agent 的名称,然后我们就可以使用 flume-ng 命令来启动了。

1 编写配置文件

我们先拿官网上的例子来跑一下看看,就使用 example.conf 文件:

[root@master conf]# pwd
/usr/hadoop/flume-1.7.0-bin/conf
[root@master conf]# vi example.conf 

# example.conf: A single-node Flume configuration

# Name the components on this agent
# 定义一个 agent 的元素

a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
# 配置 source

a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444

# Describe the sink
# 配置 sink

a1.sinks.k1.type = logger

# 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
# 用 channel 连接起来 source 和 sink

a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

这里我简单写了一下注释,这可不是翻译过来的昂,大家看的时候别被我误导了。具体概念大家还是看官网吧。
其中有四个概念:
这里写图片描述
这是官网上给的示意图,我们可以这样理解:
WebServer 想给 HDFS 送点东西 (source) ,于是就找了 flume 这个 agent(代理) ,然后 WebServer 把 source 给了 agent , agent 拿到之后,用它自己的手段(channel),可能是”物流“,然后到了离 HDFS 最近的”快递分拣点“(sink),把东西给了 HDFS。
这张图只是示意图,别不是对于 example.conf 的解释,希望大家别想多了。

1.1 source

别听我胡扯,我只是为了方便理解,自己意淫的。
那么,对于这个 example.conf 的配置文件,我们定义了一个叫 a1 的 agent,然后 source 源配置的是 netcat 类型,对于 netcat source 需要配置的内容官网上写的很清楚:
这里写图片描述

黑色加粗的几项是必须配置的,对于其他几项是可选项。

1.2 channel

接下来是 channel,也就是我们要选那一种”物流“,这里我们用的是 memory,我们需要配置的是:
这里写图片描述

1.3 sink

我们的”物流分拣点“,sink 我们配置的是 logger,需要配置几项是:
这里写图片描述

可能你已经被我误导了,对于他们真正的解释还是看官网,获取你对它们的理解,把这些东西转换成为你能够理解的东西就行了。

2 启动 agent

2.1 启动

上面我们已经说过了,使用 flume-ng 命令启动。
这里写图片描述

具体参数看上图。

[root@master conf]# pwd
/usr/hadoop/flume-1.7.0-bin/conf

[root@master conf]# flume-ng agent --conf conf --conf-file example.conf --name a1 -Dflume.root.logger=INFO,console

Info: Including Hadoop libraries found via (/usr/hadoop/hadoop-2.6.4/bin/hadoop) for HDFS access
Info: Including HBASE libraries found via (/usr/hadoop/hbase-1.2.3/bin/hbase) for HBASE access
...

16/11/18 19:34:27 INFO node.Application: Starting Channel c1
16/11/18 19:34:27 INFO instrumentation.MonitoredCounterGroup: Monitored counter group for type: CHANNEL, name: c1: Successfully registered new MBean.
16/11/18 19:34:27 INFO instrumentation.MonitoredCounterGroup: Component type: CHANNEL, name: c1 started
16/11/18 19:34:27 INFO node.Application: Starting Sink k1
16/11/18 19:34:27 INFO node.Application: Starting Source r1
16/11/18 19:34:27 INFO source.NetcatSource: Source starting
16/11/18 19:34:27 INFO source.NetcatSource: Created serverSocket:sun.nio<
<think>好的,用户需要安装Flume1.7.0并配置环境变量,同时解压指定的文件路径/data/bigfiles/apache-flume-1.7.0-bin.tar.gz。首先,我得确认解压步骤是否正确。根据引用[1]和[2],解压后需要重命名目录,用户提到的路径可能需要调整。然后配置环境变量,引用[2]和[4]提到了修改flume-env.sh文件,设置JAVA_HOME和HADOOP_HOME。用户可能还需要设置其他环境变量,比如FLUME_HOME吗?需要检查是否有必要。另外,用户指定了tar.gz的路径,在解压时需要注意当前工作目录是否正确。还要确保所有集群节点都同步配置,如引用[2]提到的其他集群配置同上。可能遗漏的步骤包括权限问题或者路径不存在,需要提醒用户检查目录是否存在。最后,验证安装是否成功,引用[2]中的版本检查命令很重要。需要把这些步骤按顺序整理,确保用户能一步步跟随操作,避免出错。</think>以下是Flume 1.7.0的安装与配置教程,包含环境变量设置和文件解压的完整流程: ### 一、文件解压步骤 1. 进入文件存放目录 ```bash cd /data/bigfiles ``` 2. 执行解压命令(注意保留原文件) ```bash tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /指定安装路径/ ``` 3. 重命名解压目录(可选) ```bash mv apache-flume-1.7.0-bin flume-1.7.0 ``` ### 二、环境变量配置 1. 修改`flume-env.sh`配置文件: ```bash cd flume-1.7.0/conf cp flume-env.sh.template flume-env.sh vim flume-env.sh ``` 2. 添加以下关键配置项: ```bash export JAVA_HOME=/your/jdk/path # 如/opt/jdk1.8.0_301[^2][^4] export FLUME_HOME=/data/bigfiles/flume-1.7.0 export PATH=$PATH:$FLUME_HOME/bin ``` ### 三、验证安装 执行版本检查命令: ```bash bin/flume-ng version ``` 应显示`Flume 1.7.0`版本信息[^2] ### 四、配置文件示例 创建测试配置文件`example.conf`: ```properties agent.sources = r1 agent.channels = c1 agent.sinks = k1 agent.sources.r1.type = netcat agent.sources.r1.bind = localhost agent.sources.r1.port = 44444 ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值