flume1.7 入门
2021-04-02 04:25
标签:ase home sources kafka server 输出 main 多个 inf 工作原因要用到flume来采集日志,简单接触后写下来一些,随更。 flume依赖Java环境,此版本至少要1.7以上的java Openjdk 安装 Linux: 1.下载tar.gz的安装包(我下载的是Adopt 11 LTS版) 2.放入指定目录(mkdir /usr/bin/jdk11) /usr/bin/jdk11 3.添加环境变量(全局/etc/profile 用户vim ~/.bashrc) export JAVA_HOME=/usr/lib/jdk11 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=.:${JAVA_HOME}/bin:$PATH 4.source /etc/profile 5.测试 java -version flume配置 简单描述:source收集信息,sinks推送信息到其他源或消息队列(kafka,MQ...)或存储(es,HDSF...),channel是前两者传输的管道(有缓存的作用)。 一 配置java的环境变量 二 配置文件 #命名此代理上的组件 #描述/配置源(type的类型是固定的,但有多个应用场景的类型) #描述接收器 #使用一个通道来缓冲事件到内存 #将源和接收器绑定到通道 三 启动 19年12月6日15 :32:19 INFO source.NetcatSource:源起 其他用法: 2.exec 3.常用的source 基本有: 4.常用的sinks(输出): 5.channel 连接源和sinks的管道(可缓存事件) flume1.7 入门 标签:ase home sources kafka server 输出 main 多个 inf 原文地址:https://www.cnblogs.com/fengyuwuqing/p/12559242.html
详细请看官网
http://flume.apache.org/releases/content/1.7.0/FlumeUserGuide.html#a-simple-example
1. cp flume-env.sh.template flume-env.sh
2. vim flume-env.sh +22
export JAVA_HOME=/usr/lib/jdk11
3. 检验 ./bin/flume-ng version
vim ./conf/example.conf:单节点Flume配置
a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
a1.sinks.k1.type = logger
a1.channels.c1.type = 内存
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
1. $ bin/flume-ng agent --conf conf --conf-file example.conf --name a1 -Dflume.root.logger=INFO,console
2. $ telnet localhost 44444
正在尝试127.0.0.1 ...
已连接到localhost.localdomain(127.0.0.1)。
转义字符为‘^]‘。
你好,世界!
确定
3.原始的Flume终端将在日志消息中输出事件。
19年12月6日15 :32:19 INFO source.NetcatSource:创建的ServerSocket:sun.nio.ch.ServerSocketChannelImpl [/127.0.0.1:44444]
19年12月6日15 :32:34 INFO sink.LoggerSink:事件:{头:{}体:48 65 6C 6F 6C 20 77 72 6F 6C 64 21 0D世界你好!}
1.将/usr/logs/log.10的内容发送到在该端口上监听的Flume源(这个应该是比较常用的)
$ bin/flume-ng avro-client -H localhost -p 41414 -F /usr/logs/log.10
# Describe/configure the source
a1.sources = r1
a1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F / var / log / secure
a1.sources.r1.channels = c1
avro 监听一个端口,或从外部的avro客户端流接收事件event(多对一)
spooldir 监听一个目录,有新文件后将采集
kafka
avro
elasticsearch
基本不用管,很少更改(可改为kafka等来缓存事件)