Flume个人心得笔记之Sink安装 喜欢ヅ旅行 2021-12-14 09:17 336阅读 0赞 # Flume个人心得笔记之Sink安装 # **目录** Flume个人心得笔记之Sink安装 一.Logger Sink 一、概述 二、可配置项说明 三、示例 二.File\_roll Sink 一、概述 二、可配置选项说明 三、示例 1.复制文本 2.编辑配置 3.启动指令 启动不了,杀死对应进程重新启动 4.编辑文件 如果误操作,可以按照Ctrl +Backspace 回退 5.查询数据 三.HDFS Sink 一、概述 二、可配置选项说明 三、示例 1.备份一份文件 2.编辑配置 3.启动 4.确保HDFS启动 5.传输数据 6.查询 四、存在问题 1.报错是因为flume缺少相关hadoop的依赖jar包, 2.但是一个一个找特别麻烦,所以解决办法是将hadoop的jar包都拷贝到flume的lib目录下: 四.Avro Sink 一、概述 二、可配置选项说明 三、多级流动 1.概述 2.实现步骤 3.第一个云主机配置 4.第二个云主机配置 5.第三个云主机配置 6.启动第三个节点 往后向前启动 7.输入数据 8.接收数据 四、扇入流 1.编辑文件 2.第一个和第二个配置相同 3.第三个节点 4.启动 从最后一个启动 5.发送数据 6.接收数据 五、扇出流 1.编辑文件 2.第一个节点配置 3.第二,第三节点配置一样 4.启动 5. 2和3节点会接收数据 6.查看数据 -------------------- # 一.Logger Sink # ## 一、概述 ## 1. 记录指定级别(比如INFO,DEBUG,ERROR等)的日志,通常用于调试 2. 要求,在 --conf(-c )参数指定的目录下有log4j的配置文件 3. 根据设计,logger sink将body内容限制为16字节,从而避免屏幕充斥着过多的内容。如果想要查看调试的完整内容,那么你应该使用其他的sink,也许可以使用file\_roll sink,它会将日志写到本地文件系统中 ## 二、可配置项说明 ## <table> <tbody> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.1229in;"> <p style="margin-left:0in;"><span style="color:#ffffff;">配置项</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;width:1.484in;"> <p style="margin-left:0in;"><span style="color:#ffffff;">说明</span></p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.1229in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">channel</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;width:1.484in;"> <p style="margin-left:0in;">绑定通道</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.1229in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">type</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;width:1.484in;"> <p style="margin-left:0in;">logger</p> </td> </tr> </tbody> </table> ## 三、示例 ## **默认配置,就不演示了 ** **[https://blog.csdn.net/LiuY521/article/details/94721238][https_blog.csdn.net_LiuY521_article_details_94721238]** # 二.File\_roll Sink # ## 一、概述 ## 1. 在本地系统中存储事件 2. 每隔指定时长生成文件保存这段时间内收集到的日志信息 ## 二、可配置选项说明 ## <table> <tbody> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.6722in;"> <p style="margin-left:0in;"><span style="color:#ffffff;">配置项</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;"><span style="color:#ffffff;">说明</span></p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.6722in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">channel</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">绑定通道</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.6722in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">type</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">file_roll</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.6722in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">sink.directory</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">文件被存储的目录</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.6722in;"> <p style="margin-left:0in;">sink.rollInterval</p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">30 记录日志到文件里,每隔30秒生成一个新日志文件。如果设置为0,则禁止滚动,从而导致所有数据被写入到一个文件中。</p> </td> </tr> </tbody> </table> ## 三、示例 ## ### 1.复制文本 ### mv basic2.conf filerollsink.txt ### 2.编辑配置 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70][] ### 3.启动指令 启动不了,杀死对应进程重新启动 ### ![20190705203408427.png][] ### 4.编辑文件 如果误操作,可以按照Ctrl +Backspace 回退 ### ![20190705203527155.png][] ### 5.查询数据 ### ![20190705203705678.png][] # 三.HDFS Sink # ## 一、概述 ## 1. 此Sink将事件写入到Hadoop分布式文件系统HDFS中 2. 目前它支持创建文本文件和序列化文件,并且对这两种格式都支持压缩 3. 这些文件可以分卷,按照指定的时间或数据量或事件的数量为基础 4. 它还通过类似时间戳或机器属性对数据进行 buckets/partitions 操作 5. HDFS的目录路径可以包含将要由HDFS替换格式的转移序列用以生成存储事件的目录/文件名 6. 使用这个Sink要求haddop必须已经安装好,以便Flume可以通过hadoop提供的jar包与HDFS进行通信 ## 二、可配置选项说明 ## <table> <tbody> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;"><span style="color:#ffffff;">配置项</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;"><span style="color:#ffffff;">说明</span></p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">channel</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">绑定的通道</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">type</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">hdfs</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">hdfs.path</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">HDFS 目录路径 (hdfs://namenode/flume/webdata/)</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;">hdfs.inUseSuffix</p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">.tmp Flume正在处理的文件所加的后缀</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;">hdfs.rollInterval</p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">文件生成的间隔事件,默认是30,单位是秒 </p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;">hdfs.rollSize</p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">生成的文件大小,默认是1024个字节 ,0表示不开启此项</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;">hdfs.rollCount</p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">每写几条数据就生成一个新文件,默认数量为10</p> <p style="margin-left:0in;">每写几条数据就生成一个新文件,</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">hdfs.fileType</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">SequenceFile/DataStream/CompressedStream</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:2.0479in;"> <p style="margin-left:0in;">hdfs.retryInterval</p> </td> <td style="border-color:#a3a3a3;vertical-align:top;"> <p style="margin-left:0in;">80 Time in seconds between consecutive attempts to close a file. Each close call costs multiple RPC round-trips to the Namenode, so setting this too low can cause a lot of load on the name node. If set to 0 or less, the sink will not attempt to close the file if the first attempt fails, and may leave the file open or with a ”.tmp” extension.</p> </td> </tr> </tbody> </table> ## 三、示例 ## ### 1.备份一份文件 ### **vim HDFS.conf** ### 2.编辑配置 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 1][] ### 3.启动 ### ![20190705204223824.png][] ### 4.确保HDFS启动 ### ![20190705204404258.png][] ### 5.传输数据 ### 报错 格式不支持 ![20190705204843560.png][] 配置写错了 ![20190705204824338.png][] ### 6.查询 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 2][] ## 四、存在问题 ## ### **1.报错是因为flume缺少相关hadoop的依赖jar包,** ### **找到以下的jar包,放到flume的lib目录下即可。** * **commons-configuration-1.6.jar** * **hadoop-auth-2.5.2.jar** * **hadoop-common-2.5.2.jar** * **hadoop-hdfs-2.5.2.jar** * **hadoop-mapreduce-client-core-2.5.2.jar** ### **2.但是一个一个找特别麻烦,所以解决办法是将hadoop的jar包都拷贝到flume的lib目录下:** ### * **执行:** * **scp common/\* ** * **common/lib/\* ** * **hdfs/\* ** * **hdfs/lib/\* ** * **mapreduce/\* ** * **mapreduce/lib/\* ** * **tools/lib/\*** * **10.42.60.249:/home/software/flume/lib/** # 四.Avro Sink # ## 一、概述 ## 1. 将源数据进行利用avro进行序列化之后写到指定的节点上 2. 是实现多级流动、扇出流(1到多) 扇入流(多到1) 的基础 ## 二、可配置选项说明 ## <table> <tbody> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.4625in;"> <p style="margin-left:0in;"><span style="color:#ffffff;">配置项</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;width:4.6368in;"> <p style="margin-left:0in;"><span style="color:#ffffff;">说明</span></p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.4625in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">channel</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;width:4.6368in;"> <p style="margin-left:0in;">绑定的通道</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.4625in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">type</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;width:4.6368in;"> <p style="margin-left:0in;"> avro</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.4625in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">hostname</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;width:4.6368in;"> <p style="margin-left:0in;">要发送的主机</p> </td> </tr> <tr> <td style="border-color:#a3a3a3;vertical-align:top;width:1.4625in;"> <p style="margin-left:0in;"><span style="color:#ff0000;">port</span></p> </td> <td style="border-color:#a3a3a3;vertical-align:top;width:4.6368in;"> <p style="margin-left:0in;">要发往的端口号</p> </td> </tr> </tbody> </table> ## 三、多级流动 ## ### 1.概述 ### 1. 让01机的flume通过netcat source源接收数据,然后通过avro sink 发给02机 2. 02机的flume利用avro source源收数据,然后通过avro sink 传给03机 3. 03机通过avro source源收数据,通过logger sink 输出到控制台上 ### 2.实现步骤 ### 1. 准备三个节点,并安装好flume(关闭每台机器的防火墙) 2. 配置每台flume的配置文件 ### 3.第一个云主机配置 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 3][] ### 4.第二个云主机配置 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 4][] ### 5.第三个云主机配置 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 5][] ### 6.启动第三个节点 往后向前启动 ### ![20190705210317204.png][] ### 7.输入数据 ### ### ![20190705212045522.png][] ### ### 8.接收数据 ### ![20190705212102121.png][] ## 四、扇入流 ## ### 1.编辑文件 ### vim shanru.conf ### 2.第一个和第二个配置相同 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 6][] ### 3.第三个节点 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 7][] ### 4.启动 从最后一个启动 ### **../bin/flume-ng agent -n a1 -c ../conf -f 要启动的文件 \-Dflume.root.logger=INFO,console** ![20190705212117858.png][] ### 5.发送数据 ### ![20190705212045522.png][] ### 6.接收数据 ### ![20190705212102121.png][] ## 五、扇出流 ## ### 1.编辑文件 ### **vim shanchu.conf** ### 2.第一个节点配置 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 8][] ### 3.第二,第三节点配置一样 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 9][] ### 4.启动 ### ![20190706194359228.png][] ### 5. 2和3节点会接收数据 ### ![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 10][] **出现叹号,提示有数据传输** ### 6.查看数据 ### ![20190706194551419.png][] [https_blog.csdn.net_LiuY521_article_details_94721238]: https://blog.csdn.net/LiuY521/article/details/94721238 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70]: /images/20211214/0b9c4f2993a941d581281013885dfa66.png [20190705203408427.png]: /images/20211214/9e0f8e07a68c499791ae7f9fb4beede8.png [20190705203527155.png]: /images/20211214/d1843e06881741d29a3444c6cd970eca.png [20190705203705678.png]: /images/20211214/fb2d826400f2466f92206542b7019727.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 1]: /images/20211214/36369f283d8744c0a661a06ad0afdada.png [20190705204223824.png]: /images/20211214/ff46d04757ac47b0be2359a88ed0f770.png [20190705204404258.png]: /images/20211214/5238f6175b204c79aac49fed9c31247d.png [20190705204843560.png]: /images/20211214/c64f68b89baa45e082b4319b05dbbc13.png [20190705204824338.png]: /images/20211214/9552e8d952004a6d9d0b10cead965fcd.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 2]: /images/20211214/b29669918e9e4baa867e96038018a3f5.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 3]: /images/20211214/e50a2f3becb64292b8f63612fcb75252.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 4]: /images/20211214/a654bc38871e4ac3988ee34812cf8f64.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 5]: /images/20211214/ea5999213cb74611a81cd3f30a25484d.png [20190705210317204.png]: /images/20211214/6d2ea670f3c04961bd5a4dada0755adb.png [20190705212045522.png]: /images/20211214/22b7324b56b248969f1a363e6f7f92f1.png [20190705212102121.png]: /images/20211214/c4c9a73b83d64a6fb18590311d5574f0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 6]: /images/20211214/907d87c47b0d43b0bfc2c9735f310308.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 7]: /images/20211214/19aea4512c0d412cb8989a667fe29e46.png [20190705212117858.png]: /images/20211214/07fdb79062544f2da315b8efce6ded27.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 8]: /images/20211214/24ca6872ffc846d78f9390753af2d293.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 9]: /images/20211214/e6bd78c638c54921a0435d8aeeff1393.png [20190706194359228.png]: /images/20211214/9cc1ee935c0e404d8a82cb6df0b497db.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 10]: /images/20211214/3e8f4078c0714f71b8241f672f899700.png [20190706194551419.png]: /images/20211214/3f4a961bc8114eafb4cf2ee73e039062.png
还没有评论,来说两句吧...