flume学习01---安装

Setting up an agent

Flume agent配置存储在本地配置文件中。 这是一个遵循Java属性文件格式的文本文件。 可以在同一配置文件中指定一个或多个agent的配置。 配置文件包括代理中每个source,sink和channel的属性,以及它们如何连接在一起以形成数据流。

Configuring individual components

流中的每个组件(source、sink 、channell)都有特定于类型和实例化的名称,类型和属性集。
例如:

  • Avro source需要一个主机名(或IP地址)和一个端口号来接收数据。
  • memory channel 可以具有最大队列大小(“容量”)
  • HDFS channel 需要知道文件系统URI,创建文件的路径,文件旋转频率(“hdfs.rollInterval”)等。组件的所有这些属性 需要在托管Flume agent的配置文件中设置。

Wiring the pieces together(组件连接)

agent需要知道要加载哪些个别组件以及它们如何连接以构成流。 这通过列出agent中的每个source,sink和 channel的名称,然后为每个sink和source指定连接channel来完成。 例如,代理通过名为file-channel的file channel将event从名为avroWeb的Avro source 流传输到HDFS sink 的hdfs-cluster1。 配置文件将包含这些组件的名称和file-channel作为avroWeb source和hdfs-cluster1 sink的共享channel

start an agent

使用名为flume-ng的shell脚本启动agent,该脚本位于Flume的bin目录中。 您需要在命令行上指定agent名称,配置目录和配置文件:

bin/flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template

现在,agent将开始运行在给定属性文件中配置的source和sink。

下面为一个简单配置测试

官网上设置的单点测试:

# example.conf: A single-node Flume configuration
#agent的名字为 a1
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = netcat  //通过netcat ,任意机器通过telnet发送消息, 本机监听。
a1.sources.r1.bind = master  //本机主机名
a1.sources.r1.port = 44444  //监听的端口

# Describe the sink  //设置输出信息的位置为控制台
a1.sinks.k1.type = logger

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

在master上启动一个agent

 bin/flume-ng agent --conf /opt/apache-flume-1.6.0-bin/conf/ --conf-file example.conf --name a1 -Dflume.root.logger=INFO,console

flume学习01---安装_第1张图片

注意,在完全部署中,我们通常会包括一个选项:–conf = 目录将包括shell脚本flume-env.sh和潜在的log4j属性文件。 在这个例子中,我们传递一个Java选项强制Flume记录到控制台,我们没有自定义环境脚本。

从单独的终端,我们可以telnet端口44444和发送Flume事件:

在任意一台向master 发送telnet消息

flume学习01---安装_第2张图片

在master的控制台会收到相应的消息

这里写图片描述

你可能感兴趣的:(#,flume)