京东云流数据总线Agent介绍
Agent介绍
数据总线支持以Agent方式进行数据写入,具体使用方法如下:
1.下载地址
https://xdata.cloud.com/map/spsdownload/downLoadAgent.action
2.配置说明
将下载的Agent压缩包,解压到/home/flumedir路径下,在conf文件夹下添加properties文件,例如test.properties,具体配置文件详细说明如下:
3.定义Source
配置示例:
定义sources名称br`streaming.sources=tailDirSrc`brbr定义Sourceype:brTAILDIR类型:该类型可以读取文件夹里的日志,使用时指定一个文件夹,可以读取该文件夹中的所有文件br`streaming.sources.tailDirSrc.type=TAILDIR`brbrexec类型:ExecSource在启动时运行给定的Unix命令,并期望进程在标准输出上产生连续的数据br`streaming.sources.tailDirSrc.type=exec`br`streaming.sources.tailDirSrc.command=tail-F/var/log/secure`br定义文件读取位置存储位置`streaming.sources.tailDirSrc.positionFile=/home/flumedir/flumeplugin/data/taildir_position.json`brbr定义上传文件组br`streaming.sources.tailDirSrc.filegroups=onetwo`brbr分别定义文件信息br`streaming.sources.tailDirSrc.filegroups.one=/home/flumedir/flumeplugin/data/test.txt`br`streaming.sources.tailDirSrc.headers.one.headerKey=one`brbr`streaming.sources.tailDirSrc.filegroups.two=/home/flumedir/flumeplugin/data/test2.txt`br`streaming.sources.tailDirSrc.headers.two.headerKey=two1`brbrheaderkeyheaderbr`streaming.sources.tailDirSrc.fileHeader=true`brbrheadereventkeybr`streaming.sources.tailDirSrc.fileHeaderKey=file`brbr
配置示例如下:
定义channel名称
streaming.channels=memoryChannel
定义channel类型,channel的类型可以配置为memory,file,此处用memory
streaming.channels.memoryChannel.type=memory
定义memorychannel容量大小
streaming.channels.memoryChannel.capacity=1000
定义transactionCapacity大小,source的ChannelProcessor一次可以向channel中写入的最大event数量,该组件负责在一个事务中移动source中的event到channel中
streaming.channels.memoryChannel.transactionCapacity=1000
StreamingSink参数说明:
sink对应名称
streaming.sinks=streamingSink
定义sink类型
streaming.sinks.streamingSink.type=com.jcloud.flume.plugin.sink.streaming.StreamingSink
定义上传数据流是否存在scheam
streaming.sinks.streamingSink.uploadType=false
定义用户身份标识
streaming.sinks.streamingSink.appKey=<yourappkey>
streaming.sinks.streamingSink.appSecret=<yourappsecretkey>
streaming.sinks.streamingSink.streamingName=<流总线topic名称>
streaming.sinks.streamingSink.batchSize=100
streaming.sinks.streamingSink.serverUrl=http://streamhub-gw.jcloud.com
(1)公网地址:
华南:http://streamhub-gw.jcloud.com
华北:http://hb-streamhub-gw.jcloud.com
(2)内网地址:
华南:streamhub-gw-inner.jcloud.com
华北:hb-streamhub-gw-inner.jcloud.com
sourcechannel
streaming.sources.tailDirSrc.channels=memoryChannel
sinkchannel
streaming.sinks.streamingSink.channel=memoryChannel
注:启动Agent之前请确认已正确安装JDK并配置环境变量。
在bin目录下执行如下命令:
./flume-ngagent-nstreaming-cconf-f../conf/test.properties-Dflume.root.logger=INFO,LOGFILE,console
Tips:常见的内存OOM问题解决方案
首先限制JVM的内存使用,在flume的flume-env.sh配置文件中配置JVM参数
JAVA_OPTS=-Xms1000m-Xmx1000m
这里的例子是配置1000M,可以根据对应的机器内存进行灵活配置,同时配合修改channel的capacity和transactionCapacity,如果自己的内存比较小,这里的参数也应设置的比较小,在配置完JVM的参数以后,启动agent时应加上-cconf选项,否则配置不会生效。例如:
bin/flume-ngagent-nstreaming-cconf-fconf/flume-conf.properties-Dflume.root.logger=INFO,LOGFILE,consolefaoling.log
另一种方案是channel的类型不使用内存,使用文件,使用文件的时候要比使用内存效率低,可以根据实际情况灵活使用,如果本机配置不高或者日志生成速度比较慢可以考虑使用。
发表评论