Flume理论理解和命令(面试必问)
来源:互联网 发布:淘宝拍图用什么相机 编辑:程序博客网 时间:2024/05/16 05:05
Flume介绍:
Flume是Appache提供的高可用,可靠的分布式的海量日志采集,传输系统
功能:可以上传到HDFS中来,或者其他的
两个版本:
og:属于Flume0.9版本之前
ng:属于Flume1.0版本之前
og与ng的区别:
og是单线程 主从结构,原本由zookeeper管理
ng是双线程 已经取消master管理机制和zookeeper管理机制,变成了纯粹的传输工具
Flume 主要是由agent组成的,
一个agent包含组件有:source(接收采集传递过来的数据),channel(),sink
图示:单agent结构
多agent链式结构:
常用的Source:
Avro Source可以以流的方式传递数据
Kafka Source
Netcat Source
配置格式:
Channel:
是内存,source将数据放到channel,sink从channel拿数据
Flume常用channel有:
Memory Channel
JDBC Channel
Kafka Channel
File Channel
Sink下沉:
主要是定义数据写出的方式,一般情况sink从channel中获取数据,写入到file、hdfs或者网路中
案例:一个读,一个写
配置文件解析
bind:表指定的ip 一般写0.0.0.0或者localhost
port:端口号
capacity:1000 表示字节大小
transactionCapacity=100 指定事务的大小
sink=logger 表示日志,:控制台
首先根~目录创建个conf 文件夹
cd conf,把test.conf文件拖进去文件夹
test.conf 文件配置如下:
a1.sources=r1
a1.channels=c1
a1.sinks=k1
a1.sources.r1.type=netcat
a1.sources.r1.bind=0.0.0.0
a1.sources.r1.port=4444
a1.sources.r1.channels=c1
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
a1.sinks.k1.type=logger
a1.sinks.k1.channel=c1
a1.channels=c1
a1.sinks=k1
a1.sources.r1.type=netcat
a1.sources.r1.bind=0.0.0.0
a1.sources.r1.port=4444
a1.sources.r1.channels=c1
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
a1.sinks.k1.type=logger
a1.sinks.k1.channel=c1
---------------------------------------------------------------------------------------------------------------
conf是指定配置文件,在哪个文件夹
--conf-file:指定你具体的配置文件
--name 表示指定的agent名字
前提已经配置好环境变量
启动flume命令打印在控制台:
flume-ng agent --conf ./conf/ --conf-file ./conf/test.conf --name a1 -Dflume.root.logger=INFO,console?
点击enter
出现Source starting
root权限 安装远程登录:yum install telnet
具体过程:
建立好连接后,输入 beicai,回车后,消息——》flume(flumeSource收到消息)————》channel(传递event)————》sink——》console(控制台)
event:一个消息,就是一个事件,包含header和body
后面表示二进制数字
刚开始写的,不太会传图片,传的图片都不能显示,原来需要上传才可以
0 0
- Flume理论理解和命令(面试必问)
- 面试必问
- 面试必问
- 前端面试必问
- Linux面试必问-vim综合命令详解
- Linux面试必问-查看目录结构“tree”命令
- iOS中block和delegate的区别(面试必问)
- 面试必问问题最佳答案
- Activity生命周期(面试必问)
- 面试必问50题
- Linux面试必问-对比文件夹内容的命令“Diff”详解
- java 面试问的问题和个人理解(三年)(一)
- java 面试问的问题和个人理解(三年)(二)
- 人力资源面试必问的十大问题
- JAVA面试30问(程序员必看)
- linux驱动工程面试必问知识点
- linux驱动工程面试必问知识点
- HashMap--面试必问的集合类
- 分治法_快速排序
- 尺取法,没毛病
- Android 初识
- Androidstudio中gradle配置资源文件
- oracle 存储过程 参数(in | out | in out)的使用
- Flume理论理解和命令(面试必问)
- python 读取csv
- CURL常用命令
- nginx与keepalive实现高可用 解决单点故障
- MFC对话框使用SkinMagic界面库
- Log4j日志级别
- 《富爸爸穷爸爸》读书笔记-关注自己的事业
- Linux下的 Access Modify Change
- Gradle资源冲突