首页 > 其他分享 >flume面试2

flume面试2

时间:2023-10-16 17:14:07浏览次数:33  
标签:flume 回滚 拦截器 source 面试 sink channel

  1. avro通信

     

     

     

  2. 负载均衡和故障转移 首先就要求有sink组 group1 K! K2

     

     

  3. 配置

     

     

     

  4. 负载均衡策略 退避backoff

     

     sink是来拉取的,你拉娶不到接下来一段时间就不让你拉去了,可能是真的没有数据,也可可能是挂掉了

     最大退避时长 一晚上没数据 指数增长 两个月都用不到这个sink了,明明人家是好的

  5. 为什么轮询不能平均分 本质上是因为不是channel推数据而是sink在拉数据  是sink在轮询,sink轮到自己时发现有数据,拉了,到了另一个发现没有

     

  6. 拦截器 添加头信息

     根据日志类型不同放入不同的channel,再放到不同的sink  头信息是一个hashmap  header指的就是里面的key

  7. 如何在springboot中配置拦截器

     这是如何处理单个事件,一定要有,然后就在批处理中调用就可以了

     链接器链,哪个在前头就先经过哪个  拦截器引用类型是全类名

  8. 静态内部类是帮我们构建对象的,不是拦截器直接用,而是帮我们统一构造出来 第二个函数是读取配置文件

     

     

  9. 静态内部类java静态内部类

     

     

  10. 将这个jar包打包放到 flume服务器的lib底下  反射的方式帮我们构建
  11. 自定义source MySQL 回退source

     步长  一般不用因为也可以在process封装成event之后再休息一会  source接收不到数据

  12. 如何写自定义source 参考官方文档实现一个抽象类 和两个接口 接口里面肯定有简单的实现方法

     放默认的前后缀,一会是有前缀的写法,一个是没后缀

     自定义事件发出去  setheader 没有头信息,由此可见有些head是默认实现的  setbody

  13. 拦截器的处理流程是事件经过之后返回一个null值,之后就被直接返回不经过后续

     

  14. 后续处理

     发送完之后就进入处理流程

     返回的是stas 枚举类型 用点就可以 包裹

  15. 打包  可以不删因为名字一样会覆盖  注意是整个包而不是单个文件
  16. 配置的是里面的key,而不是属性名 注意类型是全类名

     

  17. namenode的联邦机制  因为namenode只能部署到一台机器上,而内存有限  但一般用不上
  18. 提交事物整个处理

     trace致命的最高级别 debug是最低级别  如果抓取不到就回滚 退避

  19. flume回滚机制  putlist回滚 直接清空!非常简单,rollback接口实现了一个dorookback方法,所以会丢数据!

     

  20. 注意是MEMorychannel的回滚机制

     相当于一个队列  把尾部重新放到头部  所谓的回滚就是把takelust里的东西放回到原原来的channel

  21. HDFS  这个回滚有可能造成重复!因为已经写成功了,但是因为通信问题,没有及时告知,又回滚重发,channel感知不到!
  22. 只是有可能会丢失数据,还有一种可能不会

     文件行数 POS JSON写入 necat就不行

  23. 回滚都是一个队列

     万一没空间了怎么办?放不回来,,会预留 ,优先take  你想想也是这样,源数据一直在那,你可以一直取!

  24. 整个流程

     如何优化 回滚时设置为一样,空间搞大一点也不用害怕数据重复,因为在它的流程中是可以感知的 跟source类型又有关系,要是可以记录位置信息就好了。

  25. 事务  要么一起成功,要么一起失败!

标签:flume,回滚,拦截器,source,面试,sink,channel
From: https://www.cnblogs.com/lvshy/p/17767791.html

相关文章

  • SpringCloud专题面试
    1.微服务架构优缺点1)单体应用开发的效率比较低,由于代码量大,项目启动缓慢,部署麻烦,后期难以维护。2)服务拆分分为多个小应用,提高了开发效率,降低了代码的耦合程度,不同的服务可以采用不同的语言,提高了灵活性;小的改动进行快捷部署,方便维护。3)拆分的依据原则就是高内聚低耦合,每个服......
  • #yyds干货盘点# LeetCode程序员面试金典:H 指数
    题目:给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。根据维基百科上 h指数的定义:h 代表“高引用次数”,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少 被引用 h 次......
  • #yyds干货盘点# LeetCode程序员面试金典:四数相加 II
    1.简述:给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i,j,k,l) 能满足:0<=i,j,k,l<nnums1[i]+nums2[j]+nums3[k]+nums4[l]==0 示例1:输入:nums1=[1,2],nums2=[-2,-1],nums3=[-1,2],nums4=[0,2]输出:2......
  • 月薪过二万的Java面试
    (文章目录)......
  • Java面试题支招-为什么Java语言不支持多继承
    这是非常经典的问题,与“为什么String类在Java中是不可变的”很类似;这两个问题之间的相似之处在于它们主要是由Java创作者的设计决策使然。Java不支持类的多继承。因为多继承会增加编程的复杂性。下图选自孙卫琴的经典Java书籍《漫画Java编程》当一个子类有多个父类可能出......
  • 前端面试题之CSS
    一、CSS基础1.对盒模型的理解CSS3中的盒模型有以下两种:标准盒子模型、IE盒子模型盒模型都是由四个部分组成的,分别是margin、border、padding和content。标准盒模型和IE盒模型的区别在于设置width和height时,所对应的范围不同:标准盒模型的width和height属性的范围只包含了content,IE盒......
  • #yyds干货盘点# LeetCode程序员面试金典:整数转换英文表示
    题目:将非负整数 num 转换为其对应的英文表示。 示例1:输入:num=123输出:"OneHundredTwentyThree"示例2:输入:num=12345输出:"TwelveThousandThreeHundredFortyFive"示例3:输入:num=1234567输出:"OneMillionTwoHundredThirtyFourThousandFiveHundredSixtySe......
  • #yyds干货盘点# LeetCode程序员面试金典:最小操作次数使数组元素相等
    1.简述:给你一个长度为 n 的整数数组,每次操作将会使 n-1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例1:输入:nums=[1,2,3]输出:3解释:只需要3次操作(注意每次操作会增加两个元素的值):[1,2,3]=>[2,3,3]=>[3,4,3]=>[4,4,4]示例2:输入:nums=[1......
  • 面试必刷TOP101:3、链表中的节点每k个一组翻转
    一、题目将给出的链表中的节点每k 个一组翻转,返回翻转后的链表如果链表中的节点数不是k的倍数,将最后剩下的节点保持原样你不能更改节点中的值,只能更改节点本身。二、题解publicclassSolution{/****@paramheadListNode类*@paramkint整型......
  • 2023最新发布!三天吃透Android面试八股文,面试通过率暴涨!
    前言很多开发者都知道,现在的面试从头到尾都是比较有深度的技术问题,虽然那些问题看上去在网上都能查到相关的资料,但面试官基本都是根据你的回答持续深入,如果没有真正对技术原理和底层逻辑有一定的了解是无法通过的。如今,国内移动互联网的红利期已经过去,在Android领域找工作并不是一......