安装部署Flume

安装部署Flume
1.安装nc
yum install nmap-ncat.x86_64 -y

2.下载flume地址
http://flume.apache.org/download.html

如下图所示下载flume-1.5.2-bin.tar.gz:

3.拖到opt目录下开始解压
cd /opt
tar -zxf flume-ng-1.5.2-cdh5.14.2.tar.gz

4.移动到opt目录的soft文件夹下
mkdir soft
mv apache-flume-1.5.2-cdh5.14.2-bin soft/flume152

5.配置flume-env.sh文件的JavaHome环境变量
cd soft/flume152/conf

6.拷贝flume-env.sh.template文件改成 flume-env.sh
cp flume-env.sh.template flume-env.sh

7.添加jdk环境变量
export JAVA_HOME=/opt/soft/jdk180

8.配置flume的环境变量
vi /etc/profile

export FLUME_HOME=/opt/soft/flume152
export PATH= P A T H : PATH: PATH:FLUME_HOME/bin
9.激活
source /etc/profile

10.验证是否安装成功在bin 目录下
./flume-ng version
如下图所示:

单节点Flume配置
1.创建目录用于放配置文件
mkdir /opt/flumeconf
cd /opt/flumeconf/

2.创建文件夹用于存放要读取的文件
mkdir soft/datas

3.重命名 conf/flume-conf.properties.template 文件为 flume-conf.properties,并修改为以下内容:
cp flume-conf.properties.templat flume-conf.properties
vi flume-conf.properties

#Agent: 名称定义为 a1
#Source:可以理解为输入端,定义名称为 r1
#channel:传输频道,定义为 c1,设置为内存模式
#sinks:可以理解为输出端,定义为 s1

#命名此代理上的组件别名
a1.sources = r1
a1.channels = c1
a1.sinks = s1

#描述配置源
#设置 Source 的类型为 netcat 端口为 6666,以及主机ip
a1.sources.r1.type = netcat
a1.sources.r1.bind = 192.168.5.150
a1.sources.r1.port = 6666

#描述接收器
#设置 Sink 为 logger 模式
a1.sinks.s1.type = logger

#设置 channel 信息
a1.channels.c1.type = memory
#内存模式
a1.channels.c1.capacity = 1000
#通道中最大的缓冲事件,要大于或等于batchSize的数
a1.channels.c1.transactionCapacity = 100

#将源和接收器绑定到通道
a1.sources.r1.channels = c1
a1.sinks.s1.channel = c1
先启动flume

flume-ng agent -n a1 -c conf -f /opt/soft/flume152/conf/flume-conf.properties -Dflume.root.logger=INFO,console
如下图所示说明已经启动成功!
在这里插入图片描述
新开窗口,再启动nc
nc 192.168.5.150 6666

在nc中发送测试数据最后验证 flume 是否接收到了数据
如下图所示:
在nc中输入数据

在flume中接收到测试的数据,如下图所示:

这时说明已经安装成功!

测试收集日志到HDFS
1.把要读取的文件拖到/opt/soft/datas下
cd /opt/soft/datas

2.创建hdfs文件
hdfs dfs -mkdir /tmp/customs

3.在/opt/flumeconf下创建properties文件,并添加配置
vi conf_0809_readline.properties

a2.channels=c2
a2.sources=s2
a2.sinks=k2

a2.sources.s2.type=spooldir
a2.sources.s2.spoolDir=/opt/soft/datas

a2.channels.c2.type=memory
a2.channels.c2.capacity=10000
a2.channels.c2.transactionCapacity=1000

//类型为hdfs
a2.sinks.k2.type=hdfs
//上传的hdfs路径
a2.sinks.k2.hdfs.path=hdfs://192.168.5.150:9000/tmp/customs
//生成的文件前缀名
a2.sinks.k2.hdfs.filePrefix=events-
//每5000条数据生成一个文件
a2.sinks.k2.hdfs.rollCount=5000
//触发滚动的文件大小以字节为单位
a2.sinks.k2.hdfs.rollSize=600000
//传到HDFS的数据为每500条
a2.sinks.k2.hdfs.batchSize=500

//将源和接收器绑定到通道c1
a2.sinks.k2.channel=c2
a2.sources.s2.channels=c2
启动flume开始监听文件到hdfs
flume-ng agent -n a2 -c conf -f /opt/flumeconf/conf_0809_readline.properties -Dflume.root.logger=INFO,console

当文件全部读取完成后,会在datas文件夹下看到读取成功的文件名后缀有.COMPLETED表示读完此次文件,如图所示:
在这里插入图片描述
这时在hdfs上能看到文件已经上传成功了,如图所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值