采用Flume作为Spark Streaming数据源的编程实践

本文介绍了如何在Windows WSL Ubuntu环境下,通过Docker搭建的Spark集群,实现Flume的安装配置,并通过netcat测试数据源。接着讲解了Flume作为Spark Streaming数据源的Push模式,详细解析配置文件和Spark的准备工作。最后展示了编写Spark程序接收Flume数据源的步骤,包括编写代码、控制日志格式、打包程序和测试程序效果。
摘要由CSDN通过智能技术生成

写在前面

我的spark集群的配置状态:我使用的是windows系统,安装了wsl子系统(Ubuntu),然后在Ubuntu中安装了docker,搭建了一个master两个slave的centos集群。

一、Flume的安装和使用

1. flume 的下载

官网:http://flume.apache.org/download.html

2. 写环境变量

vim ~/.bashrc在文件后面追加

export FLUME_HOME=/root/software/flume-1.8.0
export PATH=$PATH:$FLUME_HOME/bin

使配置文件生效:source ~/.bashrc

3.修改配置文件

将conf目录下的flume-env.sh.template模板文件复制一份并重命名flume-env.sh,添加jdk的路径。

cp flume-env.sh.template flume-env.sh

在这里插入图片描述
如果不想看环境变量中变量位置在什么地方,可以使用echo $JAVA_HOME,返回值既是路径。

4.验证是否安装成功

flume-ng version
在这里插入图片描述

二、使用netcat数据源测试Flume

1.在conf文件夹下,新建netcat_source.conf文件,添加如下内容

# example.conf: A single-node Flume configuration

# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44445

# 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

要记住配置文件中使用的端口,在后续的步骤会用到。

2.在控制台中flume目录下使用命令启动

flume-ng agent --conf ./conf --conf-file ./conf/netcat_source.conf --name a1 -Dflume.root.logger=INFO,console

#–conf:配置目录
#–conf-file:配置文件
#–name:代理名称
#-Dflume:额外的参数

当前终端启动之后会处于一个阻塞状态,需要重新打开一个终端进行操作。

3.使用netcat进行发送信息验证

新开启一个终端(telnet端),使用telnet localhost 44445访问。
如果没有telnet:

  • Ubuntu使用sudo apt-get install xinetd telnetd安装
  • centos使用如下命令安装
yum -y install telnet-server.x86_64

yum -y install telnet.x86_64

yum -y install xinetd.x86_64

输入:telnet localhost 44445之后,如下:
在这里插入图片描述
此时就可以输入文字了。
在这里插入图片描述
显示“OK”之后在之前那个终端中就出现输入的文本。
在这里插入图片描述
不过,这里显然还是有些问题,文本的末尾出现了一些偏差,截断了两个字符。
按住Ctrl键输入“]”能结束当前连接,跳回telnet连接命令,再输入quit退出,回到命令行。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值