CentOS 7 配置hadoop(六) 配置flume(伪分布)
章节:
第一章节:CentOS 7 配置hadoop(一) 安装虚拟机(伪分布)
第二章节:CentOS 7 配置hadoop(二) 配置hdfs(伪分布)
第三章节:CentOS 7 配置hadoop(三) 配置hbase(伪分布)
第四章节:CentOS 7 配置hadoop(四) 配置hive(伪分布)
第五章节:CentOS 7 配置hadoop(五) 配置sqoop(伪分布)
第六章节:CentOS 7 配置hadoop(六) 配置flume(伪分布)
配置Flume(数据采集)
1.上传Flume压缩包
2.解压 压缩包
tar -xzvf apache-flume-1.6.0-bin.tar.gz
3.进入到flume/conf 将 flume-env.sh.templ 复制为flume-env.sh
cd apache-flume-1.6.0-bin/conf/
cp flume-env.sh.template flume-env.sh
进入 flume-env.sh将export JAVA_OPTS 那行的注释去掉
4.进到flume目录下 bin 目录 创建 dir-hdfs.conf 文件 (touch dir-hdfs.conf), 文件内容是下方的代码
#定义三大组件的名称 ag1.sources = source1 ag1.sinks = sink1 ag1.channels = channel1 # 配置source组件 ag1.sources.source1.type = spooldir ag1.sources.source1.spoolDir = /root/data/log ag1.sources.source1.fileSuffix=.FINISHED ag1.sources.source1.inputCharset=utf-8 ag1.sources.source1.deserializer.maxLineLength=5120 # 配置sink组件 ag1.sinks.sink1.type = hdfs ag1.sinks.sink1.hdfs.path =hdfs://master/access_log/%y-%m-%d/%H-%M ag1.sinks.sink1.hdfs.filePrefix = app_log ag1.sinks.sink1.hdfs.fileSuffix = .log ag1.sinks.sink1.hdfs.batchSize= 100 ag1.sinks.sink1.hdfs.fileType = DataStream ag1.sinks.sink1.hdfs.writeFormat =Text ## roll:滚动切换:控制写文件的切换规则 ## 按文件体积(字节)来切 ag1.sinks.sink1.hdfs.rollSize = 512000 ## 按event条数切 ag1.sinks.sink1.hdfs.rollCount = 1000000 ## 按时间间隔切换文件 ag1.sinks.sink1.hdfs.rollInterval = 60 ## 控制生成目录的规则(round回滚) ag1.sinks.sink1.hdfs.round = true ag1.sinks.sink1.hdfs.roundValue = 10 ag1.sinks.sink1.hdfs.roundUnit = minute ag1.sinks.sink1.hdfs.useLocalTimeStamp = true # channel组件配置 ag1.channels.channel1.type = memory ## event条数 ag1.channels.channel1.capacity = 500000 ##flume事务控制所需要的缓存容量600条event ag1.channels.channel1.transactionCapacity = 600 # 绑定source、channel和sink之间的连接 ag1.sources.source1.channels = channel1 ag1.sinks.sink1.channel = channel1
上方两个地方需要注意 :第一个是我们本地要采集的信息存放地址
第二个是我们信息输出的hdfs的地址 (ip的地方写上你的主机名)
添加内容时记得把注解去掉
5.创建 源目录log 给与777权限 并且在log目录下存放需要采集的数据 a.log b.log c.log (创建的地址就是你的第一个修改的采集信息存放的地址)
创建 log文件夹 cd /root/data/ mkdir log
给log赋予权限 chmod 777 log
在log文件夹同级目录创建 a.txt ,内容 hello world
touch a.txt echo hello world > a.txt cat a.txt
6.启动Flume 命令 在flume的目录下执行 下面命令
bin/flume-ng agent -c conf/ -f dir-hdfs.conf -n ag1 -Dflume.root.logger=INFO,console
这是我们在开一个窗口
在右边进入我们log文件夹的同级目录 ,把我们创建的a.txt 移动到log文件夹内。在左边的变化!!!!
可在、/root/data/log 中查看他的变化,和网址上的access_log文件夹里面的变化
Flume配置完成