如何使用HTTP源设置Apache Flume并使用File_Roll Sink将数据保存在本地



此问题的目的是如何创建Apache Flume设置,在该设置中,我们将从HTTP Flume Source获取数据,并使用File Roll Flume Sink保存数据。在这里,我们获取了用户的输入数据。在收到用户的数据后,我们将把数据保存在一个文本文件中。

此配置文件用于配置Flume服务。使用此文件,Flume服务使用HTTP运行,并将信息保存在文件中。

Http_Source.conf

# Base Config
a1.sources=r1
a1.sinks=k1
a1.channels=c1
# Configure the source
a1.sources.r1.type=http
#a1.sources.r1.bind=localhost
a1.sources.r1.port=8888
# Sink Configuration
a1.sinks.k1.type=file_roll
a1.sinks.k1.sink.rollInterval=60
a1.sinks.k1.sink.directory=/home/flumedata/
# Channel configuration
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
# Link stuff together
a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

现在使用此命令运行Flume服务。

./bin/flume-ng agent --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/nc_source.conf --name a1 -Dflume.root.logger=INFO,console

现在,在水槽服务启动后,客户端将数据发送到水槽。。。

curl --location --request POST 'http://localhost:8888' 
--header 'Content-Type: application/json' 
--data-raw '[{"body": "type here data to send flume"}]'

在配置文件(/home/flumedata/(中提到的位置创建数据文件。

最新更新