flume-ng 使用spool source 传输文件到hdfs
Flume 1.4.0 User Guide 地址:http://archive.cloudera.com/cdh4/cdh/4/flume-ng-1.4.0-cdh4.6.0/FlumeUserGuide.html
本文档主要用来记录如何在日志服务器和hdfs服务器端利用flume-ng将已经写好的日志传输到hdfs。
一 安装与环境配置
下载地址 http://archive.cloudera.com/cdh4/cdh/4/flume-ng-latest.tar.gz ,使用chd4版本。
解压到服务器目录。
配置JAVA_HOME和PATH (具体路径参考实际情况)
declare -x JAVA_HOME="/usr/java/default"
export PATH=$JAVA_HOME:$PATH
export PATH=/home/dongxiao.yang/apache-flume-1.4.0-cdh4.6.0-bin/bin:$PATH
二 程序参数配置
flume-ng的程序参数主要通过修改各种配置文件实现。 (具体路径参考实际情况)
1 flume-ng默认程序最大内存为20m,打开解压文件路径下的/home/dongxiao.yang/apache-flume-1.4.0-cdh4.6.0-bin/conf/flume-env.sh.template文件
修改如下一行
#JAVA_OPTS="-Xms100m -Xmx200m -Dcom.sun.management.jmxremote" |
改为
JAVA_OPTS="-Xms64m -Xmx300m -Dcom.sun.management.jmxremote" |
将flume-env.sh.template重命名为flume-env.sh使配置生效。
2 配置source channel sink。
服务器端的配置文件conf.properties
#define agent1agent1.sources = source1agent1.channels = channel1agent1.sinks = sink1#Describe the sourceagent1.sources.source1.type = spooldir# source 读取源日志的路径agent1.sources.source1.spoolDir = /home/dongxiao.yang/flumespool #agent1.sources.source1.fileHeader =true#Describe the sink#agent1.sinks.sink1.type = loggeragent1.sinks.sink1.type = avro#avro sink 发送数据的地址和端口agent1.sinks.sink1.hostname= 218.241.157.74agent1.sinks.sink1.port = 10000# avro 数据发送前会进行压缩,共有1到9个级别的压缩agent1.sinks.sink1.compression-type = deflate#Describe the channelagent1.channels.channel1.type = file#file channle checkpoint文件的路径agent1.channels.channel1.checkpointDir = /home/dongxiao.yang/checkpoint# file channel data文件的路径agent1.channels.channel1.dataDirs = /home/dongxiao.yang/data# file channel 每次传输事件的个数agent1.channels.channel1.transactionCapacity = 10000#file channel 最多储存事件的个数agent1.channels.channel1.capacity= 10000000#Bind the source and sink to the channelagent1.sources.source1.channels = channel1agent1.sinks.sink1.channel = channel1 |
#defineagent1.sources = source1agent1.channels = channel1agent1.sinks = sink1#Describe the sourceagent1.sources.source1.type = avro# avro source 监听的地址和端口agent1.sources.source1.bind = 0.0.0.0agent1.sources.source1.port = 10000# avro source 读取的数据是压缩过的,类型必须与 前一个 avro sink相同agent1.sources.source1.compression-type =deflate#Describe the sinkagent1.sinks.sink1.type = hdfs# 写入hdfs的路径agent1.sinks.sink1.hdfs.path = /tmp/flume# 文件前缀agent1.sinks.sink1.hdfs.filePrefix = testagent1.sinks.sink1.hdfs.rollCount = 0agent1.sinks.sink1.hdfs.rollInterval=0agent1.sinks.sink1.hdfs.rollSize=0agent1.sinks.sink1.hdfs.batchSize=5000#文件在完全没有流写入后60s关闭agent1.sinks.sink1.hdfs.idleTimeout=60#数据写入hdfs时进行压缩agent1.sinks.sink1.hdfs.fileType = CompressedStream #数据写入hdfs时压缩的种类 agent1.sinks.sink1.hdfs.codeC = gzip# Use a channel which buffers events in memoryagent1.channels.channel1.type = memoryagent1.channels.channel1.capacity = 100000agent1.channels.channel1.transactionCapacity = 5000#Bind the source and sink to the channelagent1.sources.source1.channels = channel1 |
三 启动程序
运行程序位于解压文件/bin目录下。运行前需要先为flume-ng赋予可执行权限:chmod 777 flume-ng。
在bin目录下运行命令 ,程序即可执行。
flume-ng agent --conf /home/dongxiao.yang/apache-flume-1.4.0-cdh4.6.0-bin/conf --conf-file /home/dongxiao.yang/apache-flume-1.4.0-cdh4.6.0-bin/conf/conf.properties
--name agent1 -Dflume.root.logger=INFO,DAILY -Duser.timezone=UTC+8
其中 --conf 对应的是配置文件目录
--conf-file 对应配置文件
--name 对应配置文件内的angent的名字
-D对应日志以及运行时区
flume-ng 使用spool source 传输文件到hdfs的更多相关文章
- Flume NG Getting Started(Flume NG 新手入门指南)
Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...
- 高可用Hadoop平台-Flume NG实战图解篇
1.概述 今天补充一篇关于Flume的博客,前面在讲解高可用的Hadoop平台的时候遗漏了这篇,本篇博客为大家讲述以下内容: Flume NG简述 单点Flume NG搭建.运行 高可用Flume N ...
- Flume NG高可用集群搭建详解
.Flume NG简述 Flume NG是一个分布式,高可用,可靠的系统,它能将不同的海量数据收集,移动并存储到一个数据存储系统中.轻量,配置简单,适用于各种日志收集,并支持 Failover和负载均 ...
- Flume NG简介及配置
Flume下载地址:http://apache.fayea.com/flume/ 常用的分布式日志收集系统: Apache Flume. Facebook Scribe. Apache Chukwa ...
- Flume NG 简介及配置实战
Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 clo ...
- Flume NG初次使用
一.什么是Flume NG Flume是一个分布式.可靠.和高可用性的海量日志采集.聚合和传输的系统,支持在日志系统中定制各类数据发送方,用于收集数据:同时Flume提供对数据的简单处理,并写到各种数 ...
- 【转】Flume(NG)架构设计要点及配置实践
Flume(NG)架构设计要点及配置实践 Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合.移动,最后存储到一个中心化数据存储系统中.由原来的Fl ...
- 【Flume NG用户指南】(1)设置
作者:周邦涛(Timen) Email:zhoubangtao@gmail.com 转载请注明出处: http://blog.csdn.net/zhoubangtao/article/details ...
- 【Flume NG用户指南】(2)构造
作者:周邦涛(Timen) Email:zhoubangtao@gmail.com 转载请注明出处: http://blog.csdn.net/zhoubangtao/article/details ...
随机推荐
- maven+jetty项目在tomcat部署
步骤1:项目打包 clean install 步骤二:拷贝war 包到tomcat下 步骤三:修改server.xml文件的端口 步骤四:启动tomcat,注意jetty的项目是不需要带项目名的,To ...
- SGU 114.Telecasting station
题意: 百慕大的每一座城市都坐落在一维直线上.这个国家的政府决定建造一个新的广播电视台.经过了许多次试验后,百慕大的科学家们提出了一个结论,在每座城市的不满意度等于这座城市的市民数与这座城市与广播电视 ...
- Android 学习手札(二) 活动(Activity)组件
1.建立和配置Activity 建立Android工程时已经自动生成了一个默认的Activity,同时也生成了很多与Activity相关的文件,例如,res目录中的XML及图像文件.AndroidMa ...
- js操作Cookie,实现历史浏览记录
/** * history_teacher.jsp中的js,最近浏览名师 * @version: 1.0 * @author: mingming */ $(function(){ getHistory ...
- 《C和指针》章节后编程练习解答参考——6.1
<C和指针>——6.1 6.1 题目: 编写一个函数,在一个字符串中进行搜索,查找另一子字符串中出现的字符. 函数原型如下: char *find_char(char const *sou ...
- An endpoint configuration section for contract "serviceReferenc.service" could not be loaded
场景:有一个WCF应用,添加服务引用后,自动生成一个app.config文件,当调用WCF时,它抛出一个错误: An endpoint configuration section for contra ...
- iPad和iPhone开发的比较
一.iPad简介 1.什么是iPad 一款苹果公司于2010年发布的平板电脑 定位介于苹果的智能手机iPhone和笔记本电脑产品之间 跟iPhone一样,搭载的是iOS操作系统 2.iPad的市场情况 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 工作总结:检查字符串合法性(C++)
BOOL CLiftCtrlModbusConfigDlg::CheckValid(const CString &str) { ASSERT(str.GetLength() > ); ] ...
- [BZOJ 3236] [Ahoi2013] 作业 && [BZOJ 3809] 【莫队(+分块)】
题目链接: BZOJ - 3236 BZOJ - 3809 算法一:莫队 首先,单纯的莫队算法是很好想的,就是用普通的第一关键字为 l 所在块,第二关键字为 r 的莫队. 这样每次端点移动添加或删 ...