设为首页 收藏本站
查看: 1747|回复: 0

[经验分享] flume-ng 使用spool source 传输文件到hdfs

[复制链接]

尚未签到

发表于 2015-9-17 07:25:22 | 显示全部楼层 |阅读模式
  
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


日志服务器端的配置文件conf.properties



#define agent1
agent1.sources = source1
agent1.channels = channel1
agent1.sinks = sink1
#Describe the source
agent1.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 = logger
agent1.sinks.sink1.type = avro
#avro sink 发送数据的地址和端口
agent1.sinks.sink1.hostname= 218.241.157.74
agent1.sinks.sink1.port = 10000
# avro 数据发送前会进行压缩,共有1到9个级别的压缩
agent1.sinks.sink1.compression-type = deflate

#Describe the channel
agent1.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 channel
agent1.sources.source1.channels = channel1
agent1.sinks.sink1.channel = channel1


hdfs端的conf.properties



#define
agent1.sources = source1
agent1.channels = channel1
agent1.sinks = sink1

#Describe the source
agent1.sources.source1.type = avro
# avro source 监听的地址和端口
agent1.sources.source1.bind = 0.0.0.0
agent1.sources.source1.port = 10000
# avro source 读取的数据是压缩过的,类型必须与 前一个 avro sink相同
agent1.sources.source1.compression-type =deflate

#Describe the sink
agent1.sinks.sink1.type = hdfs
# 写入hdfs的路径
agent1.sinks.sink1.hdfs.path = /tmp/flume
# 文件前缀
agent1.sinks.sink1.hdfs.filePrefix = test
agent1.sinks.sink1.hdfs.rollCount = 0
agent1.sinks.sink1.hdfs.rollInterval=0
agent1.sinks.sink1.hdfs.rollSize=0
agent1.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 memory
agent1.channels.channel1.type = memory
agent1.channels.channel1.capacity = 100000
agent1.channels.channel1.transactionCapacity = 5000

#Bind the source and sink to the channel
agent1.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对应日志以及运行时区
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-114573-1-1.html 上篇帖子: Flume sink 相关内容 下篇帖子: Flume 源码阅读
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表