Flume 安装, 测试

1. 安装

选择适合自己的版本:[下载](https://flume.apache.org/download.html)

2. 解压

gunzip flume-ng-1.6.0-cdh5.5.1.tar.gz

3. 测试

     3.1 mkdir test
     3.2 cd test && mkdir logs
     3.3 touch flume-conf.properties

test.sources = s1
test.channels = c1
test.sinks = s1

test.sources.s1.type = TAILDIR
test.sources.s1.filegroups = t1
test.sources.s1.filegroups.t1= /data/flume/test/test.*.log
test.sources.s1.batchSize = 100
test.sources.s1.positionFile = /data/flume/test/position.json
test.sources.s1.channels = c1
test.sources.s1.writePosInterval = 5000
test.sources.s1.skipToEnd = false

test.channels.c1.type = SpillableMemory
test.channels.c1.memoryCapacity = 100000
test.channels.c1.byteCapacity = 134217728
test.channels.c1.checkpointDir = /data/flume/test/checkpoint
test.channels.c1.dataDirs = /data/flume/test/data

test.sinks.s1.type = logger
test.sinks.s1.channel = c1
3.4 touch flume-env.sh
HTTP_MONITORING_PORT=34520
export JAVA_OPTS=”$JAVA_OPTS -Xms256m -Xmx256m -Dflume.project.dir=$opt_conf -Dflume.monitoring.type=http -Dflume.monitoring.port=\$HTTP_MONITORING_PORT”
3.5 touch log4j.properties
flume.root.logger=INFO,LOGFILE
flume.log.dir=${flume.project.dir}/logs
flume.log.file=flume.log

log4j.logger.org.apache.flume.lifecycle = INFO
log4j.logger.org.jboss = WARN
log4j.logger.org.mortbay = INFO
log4j.logger.org.apache.avro.ipc.NettyTransceiver = WARN
log4j.logger.org.apache.hadoop = INFO
log4j.logger.org.apache.hadoop.hive = ERROR

log4j.rootLogger=${flume.root.logger}
log4j.appender.LOGFILE=org.apache.log4j.RollingFileAppender
log4j.appender.LOGFILE.MaxFileSize=100MB
log4j.appender.LOGFILE.MaxBackupIndex=10
log4j.appender.LOGFILE.File=${flume.log.dir}/${flume.log.file}
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%t] (%C.%M:%L) %x - %m%n

log4j.appender.DAILY=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.DAILY.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.DAILY.rollingPolicy.ActiveFileName=${flume.log.dir}/${flume.log.file}
log4j.appender.DAILY.rollingPolicy.FileNamePattern=${flume.log.dir}/${flume.log.file}.%d{yyyy-MM-dd}
log4j.appender.DAILY.layout=org.apache.log4j.PatternLayout
log4j.appender.DAILY.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %-5p [%t] (%C.%M:%L) %x - %m%n

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d (%t) [%p - %l] %m%n

4. 启动

/data/flume/apache-flume-1.6.0-cdh5.5.1-bin/bin/flume-ng agent -name test --conf . --conf-file flume-conf.properties
tail -f logs/flume.log
Apache Flume是一个分布式、可靠的数据收集系统,常用于日志收集和数据传输。以下是安装和基本测试Flume的步骤: 1. **下载和安装**: - 首先,访问Apache Flume官网 (https://flume.apache.org/) 下载合适的版本。推荐使用二进制包,适合快速入门。 - 解压下载的tar.gz文件,进入目录并运行`sudo ./bin/flume-ng agent -Dconf.file=conf/flume.properties` 启动Flume。 2. **配置**: - 创建配置文件`conf/flume.properties`或`conf/flume-ng.conf`,设置Source(源)、Channel(队列)和Sink(目的地)。例如,你可以创建一个从本地文件系统读取数据的Source,然后将数据发送到HDFS。 ```properties agent.sources = source1 agent.channels = channel1 agent.sinks = sink1 agent.sources.source1.type = file agent.sources.source1.channels = channel1 agent.sources.source1.file.filename = /path/to/local/log/file ... agent.channels.channel1.type = memory ... agent.sinks.sink1.type = hdfs agent.sinks.sink1.channel = channel1 agent.sinks.sink1.hdfs.path = hdfs://namenode/path/in/hdfs ``` 3. **启动服务**: 使用`bin/start`命令启动Flume,确认各个组件是否正常运行。如果一切正常,你应该能在目标位置看到数据。 4. **测试**: - 检查Source是否能成功读取数据,Channel能否按预期存储数据,Sink是否能将数据转发到指定位置。 - 可以通过运行一些模拟生成数据的脚本或工具验证Flume的完整流程。 5. **监控和调试**: 使用Flume自带的web界面(`http://localhost:8080`默认端口) 或者第三方监控工具检查状态和性能。 注意:以上操作可能会依赖其他服务如HDFS和Zookeeper,确保它们也在运行。对于复杂的Flume架构,建议参考官方文档和教程进行深入学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值