![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
flume
文章平均质量分 57
程序猿劝退师
绝对不做愚蠢且懒惰的人
展开
-
flume —— NullPointerException: Expected timestamp in the Flume event headers, but it was null
如题错误:可能大多人送所这个问题都会告诉你:修改hdfs-sink:a1.sinks.k1.hdfs.useLocalTimeStamp = true的确,这么做的确也可以解决上述问题,但你确定这是你想要的结果么?解释:首先看错,很明显,event的header中获取timestamp属性为空,就是你sink的时候需要使用timestamp的属性。一般使用这个属性的场景应该都是a1.sinks.k1.hdfs.path = hdfs://nameservice/*/原创 2021-03-25 17:17:13 · 894 阅读 · 0 评论 -
flume —— java.lang.AbstractMethodError: org.apache.avro.specific.SpecificFixed.getSchema/或者其他init问题
昨天使用flume的avrosource的时候遇到这个问题,也从网上查了一下,基本上都在强调avro包版本问题。的确有这个可能,但可能性很小,除非你flume下载后你直接覆盖了lib里原生依赖。然后我去框架下lib看了一下arvo版本1.7.4(flume版本是1.9.0),然后去官网看了一下原生包也是1.7.4.所以我就pass掉了这个解释。然后仔细看一下报错问题,error类型的确一样,去github上追了一下源码,初始化调用方法getSchema和一些其他初始化配置,所以可以确定在原创 2021-03-23 11:08:20 · 253 阅读 · 3 评论 -
flume —— 事务
事务:从开始到结束为原子性,开始到结束整条链路成功才提交flume使用两个独立的事务分别负责从soucrce到channel,以及从channel到sink的事件传递。1、soucrce到channeldoPut: 把批数据写入到临时缓冲区putListdoCommit: 检查Channel容量是否足够,如果容量足够则把putList里的数据发送到Channel,然后清空putList中的数据。doRollBack:如果Channel容量不够,则把数据回滚到putList注:Flume原创 2021-03-12 15:15:05 · 227 阅读 · 0 评论 -
flume —— capacity、transactionCapacity、flumeBatchSize、BatchSize解释与优化
flume 调优配置参数解释channeltype 必填:memorycapacity 默认值:100 解释:通道中存储的最大事件数transactionCapacity 默认值:100 解释:每次channel从source获取事件或推送给sink的最大事件数keep-alive 默认值:3s 解释:添加或删除事件的超时时间(以秒为单位)byteCapacityBufferPercentage 默认值:20 解释:定义byteCapacity和通道中所有事件的估计总大小之间原创 2021-03-11 18:03:20 · 1804 阅读 · 0 评论