踏上大数据第一步:flume

一、概述

Flume是一个分布式、可靠、可用的系统,用于高效地收集、聚合和移动大量日志数据。它旨在从不同的数据源收集数据,并将其存储到中央数据存储中,如HDFS、HBase或Solr等。Flume是Apache旗下的一个顶级项目,是Hadoop生态系统中的一个重要组件。

Flume的主要应用场景包括:

  1. 日志收集 Flume可以高效地从各种Web服务器、应用服务器等收集日志数据,并将其传输到HDFS或其他存储系统中,为后续的数据分析做准备。
  2. 数据采集 除了日志数据,Flume还可以从各种来源采集其他类型的数据,如网络流量数据、社交数据、邮件数据等,并进行数据整理和传输。
  3. 数据传输 Flume可以在不同的节点之间传输数据,支持多种数据源和目的地,可以实现数据的分层传输。
  4. 实时数据流处理 Flume提供了一个简单的基于事件的数据模型,可以结合其他工具(如Spark Streaming)对实时数据流进行处理和分析。
  5. 多路复用 Flume支持复杂的数据流拓扑结构,允许将相同的数据流复制到多个目的地,方便构建冗余备份流或分层数据存储结构。

Flume的架构主要由以下三个核心组件组成:

  • Source:用于从外部获取数据到Flume
  • Channel:用于连接Source和Sink,作为事件的临时存储
  • Sink:用于从Channel中移除事件并且存储到外部系统中

二、安装

安装 Apache Flume 1.9.0 在 Ubuntu 20.04 系统上的步骤如下:

准备工作

在开始安装之前,请确保系统已经安装了JDK,因为 Flume 需要 JDK 来运行。您可以通过运行 java -version 来检查 JDK 是否已安装。如果没有安装可以进行安装。

JDK安装

复制代码
apt install openjdk-8-jdk

安装完成后,验证Java版本:

复制代码
java -version

如果出现相应的版本信息说明已经安装成功了。

那么apt install的java安装的目录在哪里呢?

复制代码
# which java
  /usr/bin/java
# ls -l /usr/bin/java
  /usr/bin/java -> /etc/alternatives/java
# ls -l /etc/alternatives/java
  /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

也就是/usr/lib/jvm/java-8-openjdk-amd64就是java安装目录即JAVA_HOME,后面会用到配置。

下载 Flume

  1. 访问 Apache Flume 的官方网站或直接下载 Flume 1.9.0 的压缩包。

  2. 使用 wgetcurl 命令下载 Flume 压缩包到您的系统中。

    wget http://archive.apache.org/dist/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz

安装 Flume

  1. 解压下载的 Flume 压缩包。

    tar -zxvf apache-flume-1.9.0-bin.tar.gz

  2. 将解压后的 Flume 目录移动到 /usr/local/flume

    mv apache-flume-1.9.0-bin /usr/local/flume

配置环境变量

  1. 打开 /etc/profile 文件添加 Flume 的环境变量。

    vim /etc/profile

  2. 在文件末尾添加以下内容:

    export FLUME_HOME=/usr/local/flume
    export PATH=PATH:FLUME_HOME/bin

  3. 更新环境变量。

    source /etc/profile

修改配置

1.复制配置文件

复制代码
cd /usr/local/flume/conf/
mv flume-conf.properties.template flume-conf.properties
mv flume-env.sh.template flume-env.sh
mv flume-env.ps1.template flume-env.ps1

2.修改flume-env.sh

找到export JAVA_HOME=这条配置,打开前面的#并设置为java_home的目录,见JDK安装

复制代码
vim flume-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

验证安装

运行以下命令来验证 Flume 是否安装成功:

复制代码
flume-ng version

后面有文章介绍flume的具体使用,敬请关注....

相关推荐
FII工业富联科技服务6 小时前
Omniverse + Isaac Teleop + 合成数据:工业富联机器人大脑训练+执行落地闭环拆解
大数据·人工智能·深度学习·机器学习·机器人·制造·具身智能
airank8 小时前
2026年GEO服务商选型指南:系统梳理服务商分类框架、主流服务商能力横评、企业级选型六大维度及避坑要点,帮助企业在AI搜索时代做出科学决策。
大数据·人工智能·数据分析·aigc
Delite8028 小时前
摆脱实验室束缚:便携式卡尔费休微量水分检测技术与现场应用解析
大数据·网络·人工智能
袋鼠云数栈8 小时前
实时湖仓如何真正做到“数据够新”?
大数据·数据库·人工智能·数据治理
ACP广源盛139246256738 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
大大大大晴天9 小时前
大数据数据治理到底治理什么:从“数据可用”到“数据可信”
大数据
ACP广源盛139246256739 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
策案案案10 小时前
YOLO: 将AI Agents嵌入到IntelliJ IDEA
java·大数据·人工智能·笔记·yolo·microsoft·intellij-idea
一支标11 小时前
【手机+电脑】通达信《K策王》策略战法K策王技术副图指标使用说明
大数据·智能手机·电脑
坐吃山猪11 小时前
【多线程】Lock与Condition
大数据·数据库