在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中都有便捷的开源框架,如图所示:
设计Flume的宗旨是向Hadoop批量导入基于事件的海量数据。一个典型的例子是利用Flume从一组Web服务器中收集日志文件,然后把这些文件中的日志事件转移到一个新的HDFS汇总文件中以做进一步处理,其终点(sink)通常为HDFS。也可以写到HBASE或Solr等其他系统。
当前Flume有两个版本:
1、要想使用Flume,就需要运行Flume代理。Flume代理是由持续运行的source(数据源),sink(数据目标)已经channel(用于连接source和sink)构成的Java进程。Flume 是由一组以分布式结构相互连接的代理构成
2、Flume分布式系统中最核心的角色是agent,flume采集系统就是由一个个agent所连接起来形成
3每一个agent相当于一个数据传递员(Source 到 Channel 到 Sink之间传递数据的形式是Event事件;Event事件是一个数据流单元),内部有三个组件:
下载地址https://flume.apache.org/download.html或http://archive.apache.org/dist/flume/
Flume框架对hadoop和zookeeper的依赖只是在jar包上,并不要求flume启动时必须将hadoop和zookeeper服务也启动。
tar -zxvf apache-flume-1.8.0-bin.tar.gz
mv apache-flume-1.8.0-bin flume-1.8.0
cd flume-1.8.0/conf
cp flume-env.sh.template flume-env.sh
chmod 777 flume-env.sh
在flume-env.sh脚本中配置JAVA_HOME
export JAVA_HOME= /usr/jdk1.8.0_131
配置环境变量
vi /etc/profile
添加如下内容
末尾追加
#FLUME
export FLUME_HOME=/opt/flume/flume-1.8.0
export PATH=$PATH:$FLUME_HOME/bin
保存后,加载生效
source /etc/profile
flume-ng version
解决方案
1、修改 Flume 的 flume-ng 文件
vim flume-ng
2、编辑内容
local HBASE_JAVA_LIBRARY_PATH=$(HBASE_CLASSPATH="$FLUME_CLASSPATH" \
${HBASE_IN_PATH} org.apache.flume.tools.GetJavaProperty \
java.library.path 2>/dev/null | grep hbase)
修改前
修改后
查看版本
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有