跳转至

Flume HelloWorld

Flume基本架构

整体架构

graph LR
    subgraph 数据源
        A[📱 Web服务器<br>📄 日志文件<br>🔌 网络端口<br>📨 消息队列]
    end

    subgraph Flume Agent
        B[📥 Source<br>数据接收器]
        C[📦 Channel<br>数据缓冲区]
        D[📤 Sink<br>数据发送器]
    end

    subgraph 目的地
        E[💾 HDFS<br>🖥️ 控制台<br>➡️ 下一个Agent<br>📁 本地文件<br>🗄️ HBase<br>📊 Kafka]
    end

    A -->|1.产生数据| B
    B -->|2.写入| C
    C -->|3.读取| D
    D -->|4.发送| E

    style B fill:#f9f,stroke:#333
    style C fill:#bbf,stroke:#333
    style D fill:#bfb,stroke:#333

Flume安装部署

node1 node2 node3
Flume(采集日志) Flume

安装地址

(1) Flume官网地址:http://flume.apache.org/

(2)文档查看地址:http://flume.apache.org/FlumeUserGuide.html

(3)下载地址:http://archive.apache.org/dist/flume/

安装部署

  1. 将apache-flume-1.9.0-bin.tar.gz上传到linux的/opt/bigdata/flume目录下
  2. 解压apache-flume-1.9.0-bin.tar.gz到/opt/bigdata/flume/目录下
[zhangsan@node1 flume]$ pwd
/opt/bigdata/flume

[zhangsan@node1 flume]$ ll
drwxrwxr-x. 10 zhangsan zhangsan 4096 Mar  4 11:26 apache-flume-1.9.0-bin
  1. 为apache-flume-1.9.0-bin创建软连接default
[zhangsan@node1 flume]$ ll
drwxrwxr-x. 10 zhangsan zhangsan 4096 Mar  4 11:26 apache-flume-1.9.0-bin
lrwxrwxrwx.  1 zhangsan zhangsan   22 Feb 28 16:45 default -> apache-flume-1.9.0-bin
  1. 将lib文件夹下的guava-11.0.2.jar删除以兼容Hadoop 3.1.3

注意:删除guava-11.0.2.jar的服务器节点,一定要配置hadoop环境变量。否则会报如下异常。

Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Lists
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more
  1. 拷贝flume/conf下的flume-env.sh.template文件并更名为flume-env.sh,配置flume-env.sh文件
# 此处为jdk rpm包安装后的位置,请根据自己实际的JAVA_HOME进行修改
export JAVA_HOME=/usr/java/default
  1. 配置环境变量。

略。