按照采集通道规划,需在hadoop102,hadoop103,hadoop104三台节点分别部署一个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/software目录下
(2)解压apache-flume-1.9.0-bin.tar.gz到/opt/module/目录下
[summer@hadoop102 software]$ tar -zxvf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/
(3)修改apache-flume-1.9.0-bin的名称为flume-1.9.0
[summer@hadoop102 module]$ mv apache-flume-1.9.0-bin/ flume-1.9.0
(4)将lib文件夹下的guava-11.0.2.jar删除以兼容Hadoop 3.1.3
[summer@hadoop102 module]$ rm /opt/module/flume-1.9.0/lib/guava-11.0.2.jar
注意:删除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
(5)修改conf目录下的log4j.properties配置文件,配置日志文件路径
[summer@hadoop102 conf]$ vim log4j.properties
flume.log.dir=/opt/module/flume-1.9.0/logs
[summer@hadoop102 ~]$ xsync /opt/module/flume-1.9.0/
Flume堆内存通常设置为4G或更高,配置方式如下:
修改/opt/module/flume/conf/flume-env.sh文件,配置如下参数(虚拟机环境暂不配置)
export JAVA_OPTS="-Xms4096m -Xmx4096m -Dcom.sun.management.jmxremote"
注:
-Xms表示JVM Heap(堆内存)最小尺寸,初始分配;
-Xmx 表示JVM Heap(堆内存)最大允许的尺寸,按需分配。
把这行注释的代码取消注释,memory Channel消耗的内存比较大,因此需要调大内存,将-Xmx参数调大