搭建Flume

发布于:2024-12-20 ⋅ 阅读:(198) ⋅ 点赞:(0)
title: 搭建Flume
date: 2024-11-30 23:59:00
categories: 
- 服务器
tags:
- Flume
- 大数据

搭建Flume

  • 本次实验环境:Centos 7-2009、JDK 8、Flume-1.11.0

开始安装

1. 下载安装文件到服务器

# 使用wget命令下载flume文件(二选一)
wget -P /tmp/ -c 'https://mirrors.aliyun.com/apache/flume/1.11.0/apache-flume-1.11.0-bin.tar.gz'

# 使用curl命令下载flume文件(二选一)
curl -C - 'https://mirrors.aliyun.com/apache/flume/1.11.0/apache-flume-1.11.0-bin.tar.gz' -O /tmp/

2. 安装程序

# 解压文件到指定文件夹
tar -zxvf /tmp/apache-flume-1.11.0-bin.tar.gz -C /opt/module/

# 重命名文件夹
mv /opt/module/apache-flume-1.11.0-bin /opt/module/flume

3. 修改配置文件

# 复制配置文件
cp /opt/module/flume/conf/flume-env.sh.template /opt/module/flume/conf/flume-env.sh

# 添加JAVA配置
cat >> /opt/module/flume/conf/flume-env.sh << EOF
export JAVA_HOME=/opt/module/jdk1.8.0_202
export FLUME_CONF_DIR=/opt/module/flume/conf
EOF

---------------------------
           说明
根据自己的配置信息,或者查看~/.bashrc,修改JAVA_HOME的目录,随后复制粘贴即可

---------------------------

4. 配置用户环境变量

cat >>  ~/.bashrc << "EOF"

# ------------------- Flume 配置--------------------
# 设置Flume环境变量,指向Flume安装目录
export FLUME_HOME=/opt/module/flume

# 将Flume的bin目录添加到PATH环境变量
export PATH=$PATH:$FLUME_HOME/bin
# -------------------------------------------------
EOF
-----------------------------------------------------------
                          说明

举例   export PATH=$FLUME_HOME/bin:$PATH

英文冒号代表分隔

这段代码表示
1. 当你输入一个命令时,shell会首先在"FLUME_HOME"这个变量的"bin"子目录中查找,
2. 最后,若找不到,则在"PATH"的指定目录中查找

-------------------------------------------------------------

5. 加载环境变量

# 在master主节点上执行
source ~/.bashrc

安装完成

6. 测试

  • a1.sources.r1.command=tail -F /opt/module/flume/test/1.log

  • a1.sinks.k1.hdfs.path=hdfs://master:8020/flume/
    这两条需要按照自己的路径修改,并创建test文件和1.log文件用于测试

cat > /opt/module/flume/conf/hdfs-avro.conf << EOF
#配置Agent
a1.sources = r1
#数据沉淀,可以多个,中间用空格分隔
a1.sinks = c1
#传输管道一般只有一个,可以多个
a1.channels = c1

#配置source消息生产者
#exec可以通过制定的操作对日志进行读取,使用exec时需要指定xsheel命令,对日志进行读取
a1.sources.r1.type=exec
a1.sources.r1.command=tail -F /opt/module/flume/test/1.log

#配置channel,将buffer事件存放在内存中,相当于数据缓存区,接受source数据发送给sink
#传输管道的参数,类型是内存传输
a1.channels.c1.type=memory
#存储在通管中的最大事件数
a1.channels.c1.capactipy=100
#收集端的sink会在收集到了1000条以后再去提交失误
a1.channels.c1.transactionCapcity=10

#配置sink接收器
#沉淀方式时控制台答应,还可以有其他方式,如上传到hdfs
a1.sinks.k1.type=hdfs
#设置hdfs接收器
a1.sinks.k1.hdfs.path=hdfs://master:8020/flume

#设置
a1.sinks.k1.hdfs.filePrefix=test
a1.sinks.k1.hdfs.fileType=DataStream

#把source和sink绑定在channel上
#指定传输管道
a1.sources.r1.channels=c1
#设置数据沉淀接受的管道
a1.sinks.k1.channel=c1

EOF

7. 前台启动Flume

flume-ng agent -c $FLUME_HOME/conf -f $FLUME_HOME/conf/hdfs-avro.conf -n a1 -Dflume.root.logger=INFO,console

8. 后台启动Flume

# 创建日志文件目录
mkdir /opt/module/flume/logs
# 在master节点上执行
nohup flume-ng agent -c $FLUME_HOME/conf -f $FLUME_HOME/conf/hdfs-avro.conf -n a1 -Dflume.root.logger=INFO,console > $FLUME_HOME/logs/nohup.out 2>&1 &

参考文档

  1. Download — Apache Flume

  2. Apache Download Mirrors

  3. Index of /dist/flume

  4. hadoop-flume完全分布式集群搭建-CSDN博客

  5. flume-1.11.0 - Bigdata_Yuan - 博客园

  6. flume1.11.0安装部署-CSDN博客

  7. apache-flume-1.11.0安装包下载_开源镜像站-阿里云


网站公告

今日签到

点亮在社区的每一天
去签到