前提说明:
一、必须能够安装基本的大数据环境,另外一个方面,不管是分布式环境,还是单机伪分布式环境,都需要对基本的技术知识点进行掌握。至少能够对我们所操作的每个步骤有所了解。
二、第二个方面,我觉得最关键的就是阅读每个软件的官方文档,这是必须的,有两个好处,第一个方面就是就是可以完整、系统地掌握全面的知识。第二好处就是在读英文文档的时候能够极大地锻炼我们的英文能力,当然如果英文不太好的话可以下载一些浏览器的插件,就拿现在非常熟知的firefox/chrome来讲,里面有非常多的插件,随便搜一下英文插件,挑一个用户使用多的就可以了。
三、这第三个方面说一下这是笔者对自己在毕设实验完成过程中的一种总结吧。一方面这是笔者写给自己看的,因为笔者好几年的学习来看,最佳的学习方式还是自己把一些方法记录下来,然后有问题的时候自己可以进行查看。可以节约好多搜索的时间。另外一个方面如果能帮助网友的话,也算是一种缘分吧。
1.Flume预备知识
- 需要按照笔者第一部分的知识独立搭建好基于flume1.7版本的环境,单机就可以,学习基础的知识足够了。
- 能够对大数据知识有基本的认识、以及能够进行简单的linux操作。
- 能够懂得FLume主要是用来干嘛的、还有flume基本的结构和原理即可。
2.Flume实验之-example.conf
核心配置文件,代码来自官网点击这里
代码说明:这是第一个学习flume的小栗子。里面的a1就是默认agent对象,接下来a1有三个组件,分别进行简写s1、k1、c1。接下来的代码说明了r1的类型、域名、端口。然后说明了c1的相关属性,这里说明一下c1的作用是缓冲。声明了在内存中需要1000空间大小,在处理事务时所用的空间是100,最后一段代码,让三个组件进行连接起来。
最后效果:
================= 2020.5.13第二次更新=======================
情况说明:
- 这里主要参考官网和之前的例子,对exec以及avro的处理有一个全面的认识
- exec 主要配置,参照官网,加粗的配置项是必须添加的
核心配置如下:
在之前的那个例子基础上进行改写,完整代码如下:
# example.conf: A single-node Flume configuration
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -f /home/spark/data/exec01.log
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 10000
a1.channels.c1.transactionCapacity = 10000
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
说明:官网所说的那个shell配置项我加上,报错,所以就不加了
exec 效果如下:
avro-source-example参考:
avro-source-example配置文件:
avro-sink-example参考:
avro-sink-example配置文件:
执行:注意执行的时候,先启动avro-source-example,再启动avro-sink-example
最终效果