本质:日志数据收集工作
注意:一个sink只能从一个channel中取数据。
使用步骤:- 定义组件
- 配置组件
- 绑定组件
//对应的格式 agentName.sources=sourceName agentName.channels=channelName agentName.sinks=sinkName //配置每个组件的属性,不同的组件类型的配置不同 //可以直接去官网查询 //绑定对应的组件 agentName.sources.sourceName.channels=channelName agentName.sinks.inkName.channel=channelName
5.2 http+mem+logger
//agent的名称 a1 //定义对应的组件 a1.sources=s1 a1.channels=c1 a1.sinks=sk1 //定义对应的属性 //s1 http a1.sources.s1.type=http a1.sources.s1.port=8080 //c1 me a1.channels.c1.type=memory //sk1 hdfs a1.sinks.sk1.type=hdfs a1.sinks.sk1.hdfs.path=hdfs://namenode/flume/webdata 数据放入的位置 有对应的变量可以用来指定对应的动态的文件名,指定文件的前缀,后缀。
监控一个目录
注意:对应一个文件读取完后会加.COMPLETE后缀,
对已经读取完的文件追加数据是不会被再次采集
对文件的名称重命名,会报错。
系统内置的拦截器的使用:
正则过滤:
选择器:作用一个agent多个source的情况
1,replicating的选择器(默认)
注意:这里agent.sources.selector.mapping.VarName是通过拦截器拦截后修改设置的。
也就是对应的event的header
对应的sink的配置相同
1,对应单个事件处理
2,多个event
写一个内部类,获取拦截器对象
将对应的拦截器打出jia包上传
Sqoop
-m 1:表示仅仅使用一个map程序
--fields-terminated-by ‘,‘:指定导入的分隔符。
mysql:导出到mysql默认用 ,来分割
注意:-- 与import之间有空格。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)