离线项目笔记:数据的拉取之存在的问题2

1.    再往HDFS写入数据时,要考虑时间的问题,通过通配符去考虑它的年月日问题,既然要用到时间通配符,那么肯定要知道时间戳是多少,知道了时间戳,才能通过通配符去展示年月日。第一个版本使用的是本地时间戳,本地时间戳还不能直接去用,因为时间的问题可能导致数据存储在不同的文件。这时候就需要去做一个更改,加一个拦截器。加入拦截器之后,我们从日志里面去获取它的时间戳,这个时间戳就是事件时间戳。拿到之后将它放在event_header里面,以map的形式,以timeStamp为K,时间戳为值。下游的HDFS sink就可以获取到它,通过通配符写入到HDFS。


2.    采集级联网络问题,高可用问题。为了防止下游节点崩了之后,上游都不能采集数据,造成大量的损失,所以加入高可用。也就是加入一个节点当作备用节点。上游通过两个sink,一个agent分配两个sink来控制下游的两个节点,进行主备的切换。如果上游挂掉了怎么办?通过写一个脚本来监控它的状态,上游的进程或者状态不够好的话,可以对它进行启动或者重启。


3.    Flume一天跑几次?  无法知道,因为它有数据就会采集,它是一直在跑的。


4.    延迟上报的问题:就是数据向下游发送出现了延迟。出现数据的挤压问题,一般是上游数据生产过快,下游数据发送过慢,数据都挤压在channel里面,只能慢慢的发送。可以减少上游的数量,减少负载,增加下游的节点,实现负载均衡。数据的延迟是不可避免的,可以通过Flink的窗口进行解决。


5.    会不会因为时间问题,在数据写入到HDFS中会存放在不同的文件?不会,因为已经加入了拦截器,获取到了你的时间戳,根据你的事件时间来进行存放对应的目录下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值