2023年大数据国赛第二套任务A- Flume安装配置

本任务需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境,具体要求如下:

  1. 从宿主机/opt目录下将文件apache-flume-1.9.0-bin.tar.gz复制到容器Master中的/opt/software路径中(若路径不存在,则需新建),将Master节点Flume安装包解压到/opt/module目录下,将解压命令复制并粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;
  2. 完善相关配置,设置Flume环境变量,并使环境变量生效,执行命令flume-ng version并将命令与结果截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;
  3. 启动Flume传输Hadoop日志(namenode或datanode日志),查看HDFS中/tmp/flume目录下生成的内容,将查看命令及结果(至少5条结果)截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下。
在节点创建需要的文件夹,作为安装包储存路径和软件安装位置

mkdir /opt/software  /opt/module
从宿主机目录下将文件apache-flume-1.9.0-bin.tar.gz复制到容器Master中的/opt/software路径中。

scp root@10.42.2.28:/opt/flume/apache-flume-1.9.0-bin.tar.gz /opt/software
--三、安装配置Flume运行环境
将Master节点Flume安装包解压到/opt/module路径中:

tar -xzf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module
将解压命令截图并提交到对应的任务序号下
修改节点环境中的/etc/profile文件,在文件末添加下面的内容:

# 添加flume的环境变量
export FLUME_HOME=/opt/module/apache-flume-1.9.0-bin
export PATH=$PATH:$FLUME_HOME/bin


执行下面的命令使添加的环境变量生效:

source /etc/profile
执行命令flume-ng version

flume-ng version

并将命令与执行结果截图并提交到对应的任务序号下

配置文件监控NameNode日志文件

cd /opt/module/apache-flume-1.9.0-bin/conf
cp flume-conf.properties.template flume-conf.properties
编辑flume-conf.properties,添加下面的内容:

# 定义一个名为 r1、类型为 exec 的数据源。
# 它将执行外部命令 (tail -F ...) 并使用hadoop的namenode的log输出作为数据源。
a1.sources = r1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /opt/module/hadoop-3.2.4/logs/hadoop-root-namenode-16f7e0f335e1.log

# 定义一个名为 k1、类型为 hdfs 的数据汇。
# 它将数据写入Hadoop分布式文件系统 (HDFS)。
# 路径是动态的,基于当前日期 (%Y%m%d)。它指定了文件前缀、文件类型以及是否使用本地时间戳。
a1.sinks = k1
a1.sinks.k1.type = hdfs
a1.sinks.k1.hdfs.path = hdfs://master:9000/tmp/flume/%Y%m%d
a1.sinks.k1.hdfs.filePrefix = log-
a1.sinks.k1.hdfs.fileType = DataStream
a1.sinks.k1.hdfs.useLocalTimeStamp = true

# 定义一个名为 c1、类型为 memory 的通道,表示一个内存通道。
# 通道充当数据源和数据汇之间的缓冲区。
a1.channels = c1
a1.channels.c1.type = memory

# 指定了源 r1 与通道 c1 之间的连接,以及汇 k1 与通道 c1 之间的连接。
# 源产生的数据将存储在内存通道中,然后由数据汇消耗,用于写入HDFS。
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1


上面配置设置了一个Flume代理 (a1),具有一个通过exec源读取tail命令输出的内存通道,以及一个将数据写入HDFS的数据汇,路径根据日期动态生成。
注意: 下面的a1.sources.r1.command的数据源文件记得换成自己的namenode的对应的文件名,每人不一样的。
比如看我的输出,我这里就是hadoop-root-namenode-16f7e0f335e1.log。

root@16f7e0f335e1:/rgsoft/Desktop/Study/task# ls -al $HADOOP_HOME/logs/
总用量 152
drwxr-xr-x 2 root root  4096 12月 18 15:13 .
drwxr-xr-x 1 root root  4096 12月 18 14:59 ..
-rw-r--r-- 1 root root 42453 12月 18 15:18 hadoop-root-namenode-16f7e0f335e1.log
-rw-r--r-- 1 root root  6440 12月 18 15:14 hadoop-root-namenode-16f7e0f335e1.out
-rw-r--r-- 1 root root    90 12月 18 15:13 hadoop-root-namenode-master.log
-rw-r--r-- 1 root root 43976 12月 18 15:09 hadoop-root-resourcemanager-16f7e0f335e1.log
-rw-r--r-- 1 root root  2314 12月 18 14:59 hadoop-root-resourcemanager-16f7e0f335e1.out
-rw-r--r-- 1 root root 33943 12月 18 15:00 hadoop-root-secondarynamenode-16f7e0f335e1.log
-rw-r--r-- 1 root root   705 12月 18 14:59 hadoop-root-secondarynamenode-16f7e0f335e1.out
-rw-r--r-- 1 root root     0 12月 18 14:59 SecurityAuth-root.audit


四、启动Flume传输Hadoop日志(namenode或datanode日志)
flume必须持有hadoop相关的包才能将数据输出到hdfs, 将如下包上传到flume/lib下:

cd /opt/module/apache-flume-1.9.0-bin/lib
cp $HADOOP_HOME/share/hadoop/common/hadoop-common-3.2.4.jar  ./
cp $HADOOP_HOME/share/hadoop/common/lib/hadoop-auth-3.2.4.jar ./
cp $HADOOP_HOME/share/hadoop/common/lib/commons-configuration2-2.1.1.jar ./

# 删除低版本的guava,检查确定存在后,输入yes确定删除
rm -i ./guava-11.0.2.jar
将hadoop的 hdfs-site.xml 和 core-site.xml 放到flume/conf下:

cd /opt/module/apache-flume-1.9.0-bin/conf
cp $HADOOP_HOME/etc/hadoop/core-site.xml ./
cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml ./
cd /opt/module/apache-flume-1.9.0-bin

# -n 参数用于指定代理的名称,这里将代理命名为 a1,要和上面的sources数据源的变量名保持一致。
# -c 参数用于指定 Flume 的配置文件所在的目录。
# -f 参数用于指定 Flume 的配置文件的路径。
# -D 参数用于设置 Java 虚拟机 (JVM) 的系统属性。
# flume.root.logger=DEBUG,console 设置了 Flume 的日志级别为 DEBUG,并将日志输出到控制台 (console)。
flume-ng agent -n a1 -c conf -f /opt/module/apache-flume-1.9.0-bin/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console
查看HDFS中/tmp/flume目录下生成的内容:

hdfs dfs -ls /tmp/flume

 

  • 23
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_44117248

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值