ubuntu16.04 Flume 安装
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Flume主要由3个重要的组件构成:
Source:完成对日志数据的收集,分成transtion 和 event 打入到channel之中。
Channel:主要提供一个队列的功能,对source提供中的数据进行简单的缓存。
Sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。
Flume逻辑上分三层架构:agent,collector,storage
agent用于采集数据,agent是flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。
collector的作用是将多个agent的数据汇总后,加载到storage中。
storage是存储系统,可以是一个普通file,也可以是HDFS,HIVE,HBase等。
Flume的架构主要有一下几个核心概念:
Event:一个数据单元,带有一个可选的消息头
Flow:Event从源点到达目的点的迁移的抽象
Client:操作位于源点处的Event,将其发送到Flume Agent
Agent:一个独立的Flume进程,包含组件Source、Channel、Sink
Source:用来消费传递到该组件的Event
Channel:中转Event的一个临时存储,保存有Source组件传递过来的Event
Sink:从Channel中读取并移除Event,将Event传递到Flow Pipeline中的下一个Agent(如果有的话)
1.安装Flume
sudo tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /usr/local2
sudo mv ./apache-flume-1.7.0-bin ./flume
sudo chown -R soyo:soyo ./flume
2.配置环境变量
sudo vim ~/.bashrc
- export FLUME_HOME=/usr/local2/flume
- export FLUME_CONF_DIR=$FLUME_HOME/conf
- export PATH=$PATH:/usr/local2/hadoop/sbin:/usr/local2/hadoop/bin:/usr/local2/hbase/bin:$HIVE_HOME/bin:$FLUME_HOME/bin
source ~/.bashrc
3.配置flume-env.sh
- cd /usr/local/flume/conf
- sudo cp ./flume-env.sh.template ./flume-env.sh
- sudo vim ./flume-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64;
4.查看安装
cd/uar/local2/flume/bin
./flume-ng version (如果报错:找不到或无法加载主类 org.apache.flume.tools.GetJavaProperty,说明你装了Hbase 注释掉hbase-env.sh里的HBASE-CLASSPATH 就OK了)
5.安装成功