伪分布式系列 - 第六篇 - flume-1.9.0-环境搭建

目标

  • flume下载安装
  • 此处以实时监听文件上传到hdfs为场景实现

架构

在这里插入图片描述

  • flume的官方给的如上的图,这是个基本的单位agent 有source,channel,sink组成,agent可以随意组合,可以形成一个复杂的架构关系,实现各种方式的采集,高可用.

环境准备

下载flume

# flume 配置
export FLUME_HOME=/opt/bigdata/flume/default
export PATH=${FLUME_HOME}/bin:$PATH

flume配置

进入配置目录

  • /opt/bigdata/flume/default/conf 这个目录没有限制,启动agent时候随意指定

配置

  • 配置配置文件file-to-hdfs.conf
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
## exec表示flume回去调用给的命令,然后从给的命令的结果中去拿数据
a1.sources.r1.type = exec
## 使用tail这个命令来读数据
a1.sources.r1.command = tail -F /opt/bigdata/flume/default/conf/data.txt
a1.sources.r1.channels = c1

# Describe the sink
## 表示下沉到hdfs,类型决定了下面的参数
a1.sinks.k1.type = hdfs
## sinks.k1只能连接一个channel,source可以配置多个
a1.sinks.k1.channel = c1
## 下面的配置告诉用hdfs去写文件的时候写到什么位置,下面的表示不是写死的,而是可以动态的变化的。表示输出的目录名称是可变的
a1.sinks.k1.hdfs.path = /data/flume/logs/%y-%m-%d/%H%M/
##表示最后的文件的前缀
a1.sinks.k1.hdfs.filePrefix = logs-
## 表示到了需要触发的时间时,是否要更新文件夹,true:表示要
a1.sinks.k1.hdfs.round = true
## 表示每隔1分钟改变一次
a1.sinks.k1.hdfs.roundValue = 1
## 切换文件的时候的时间单位是分钟
a1.sinks.k1.hdfs.roundUnit = minute
## 表示只要过了3秒钟,就切换生成一个新的文件
a1.sinks.k1.hdfs.rollInterval = 3
## 如果记录的文件大于20字节时切换一次
a1.sinks.k1.hdfs.rollSize = 20
## 当写了5个事件时触发
a1.sinks.k1.hdfs.rollCount = 5
## 收到了多少条消息往dfs中追加内容
a1.sinks.k1.hdfs.batchSize = 10
## 使用本地时间戳
a1.sinks.k1.hdfs.useLocalTimeStamp = true
#生成的文件类型,默认是Sequencefile,可用DataStream:为普通文本
a1.sinks.k1.hdfs.fileType = DataStream

# Use a channel which buffers events in memory
##使用内存的方式,内存缓存的数据,重启会丢失,file channel会更可靠,速度低于内存
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

启动测试

  • 启动命令,log在flume家目录下的logs目录里
$FLUME_HOME/bin/flume-ng agent -c conf -f conf/file-to-hdfs.conf -n a1

[root@ecs-6531-0002 default]# bin/flume-ng agent -c conf -f conf/file-to-hdfs.conf -n a1
Info: Including Hadoop libraries found via (/opt/bigdata/hadoop/default/bin/hadoop) for HDFS access
Info: Including Hive libraries found via (/opt/bigdata/hive/default) for Hive access
+ exec /usr/local/java_1.8.0_121/bin/java -Xmx20m -cp '/opt/bigdata/flume/default/conf:/opt/bigdata/flume/default/lib/*:/opt/bigdata/hadoop/default/etc/hadoop:/opt/bigdata/hadoop/default/share/hadoop/common/lib/*:/opt/bigdata/hadoop/default/share/hadoop/common/*:/opt/bigdata/hadoop/default/share/hadoop/hdfs:/opt/bigdata/hadoop/default/share/hadoop/hdfs/lib/*:/opt/bigdata/hadoop/default/share/hadoop/hdfs/*:/opt/bigdata/hadoop/default/share/hadoop/mapreduce/lib/*:/opt/bigdata/hadoop/default/share/hadoop/mapreduce/*:/opt/bigdata/hadoop/default/share/hadoop/yarn:/opt/bigdata/hadoop/default/share/hadoop/yarn/lib/*:/opt/bigdata/hadoop/default/share/hadoop/yarn/*:/opt/bigdata/hive/default/lib/*' -Djava.library.path=:/opt/bigdata/hadoop/default/lib org.apache.flume.node.Application -f conf/file-to-hdfs.conf -n a1
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/bigdata/flume/apache-flume-1.9.0-bin/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/hadoop/hadoop-3.2.0/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/bigdata/hive/apache-hive-2.3.5-bin/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

  • 查看效果
  • 目录已创建
  • 数据已经上传
    在这里插入图片描述
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建流程如下: 1. 创建虚拟机模板机:先安装虚拟化软件,如VMware Workstation,然后安装一个操作系统,如CentOS,配置好环境和软件,最后将其保存为虚拟机模板机。 2. 创建分布式集群:使用虚拟机模板机创建多个虚拟机,每个虚拟机都要安装相同的操作系统和软件,配置好网络和主机名等信息。然后使用分布式集群软件,如Apache Hadoop,将这些虚拟机组成一个分布式集群。 3. 安装OpenResty:在分布式集群中选择一台虚拟机,安装OpenResty,配置好Nginx和Lua环境,实现高性能的Web应用开发。 4. 安装Hadoop:在分布式集群中选择一台虚拟机,安装Hadoop,配置好HDFS和MapReduce等组件,实现大规模数据的分布式存储和处理。 5. 安装Zookeeper:在分布式集群中选择一台虚拟机,安装Zookeeper,配置好ZAB协议,实现分布式应用程序协调服务。 6. 安装Flume:在分布式集群中选择一台虚拟机,安装Flume,配置好数据采集和传输管道,实现数据的收集和传输。 7. 安装Hive和MySQL:在分布式集群中选择一台虚拟机,安装Hive和MySQL,配置好元数据和数据存储,实现数据的查询和分析。 8. 安装Zeppelin:在分布式集群中选择一台虚拟机,安装Zeppelin,配置好可视化工具和数据源,实现数据的可视化和探索。 9. 安装DolphinScheduler:在分布式集群中选择一台虚拟机,安装DolphinScheduler,配置好任务调度和执行,实现自动化任务的执行和管理。 10. 安装SuperSet:在分布式集群中选择一台虚拟机,安装SuperSet,配置好可视化工具和数据源,实现数据的可视化和探索。 以上是搭建流程的大致步骤,具体实现过程需要根据实际情况进行配置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值