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/
安装部署¶
- 将
apache-flume-1.9.0-bin.tar.gz上传到linux的/opt/bigdata/flume目录下 - 解压
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
- 为
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
- 将
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
- 拷贝
flume/conf下的flume-env.sh.template文件并更名为flume-env.sh,配置flume-env.sh文件
- 配置环境变量。
略。