您现在的位置是:首页 >学无止境 >Flume网站首页学无止境

Flume

大数据盼盼 2023-05-24 00:00:02
简介Flume

1. Flume 拦截器

1 )拦截器注意事项
  ( 1 ETL 拦截器:主要是用来判断 json 是否完整。没有做复杂的清洗操作主要是防止
           过多的降低传输速率。
  (2)时间戳拦截器:主要是解决零点漂移问题
2 )自定义拦截器步骤
   ( 1 )实现 Interceptor
   (2)重写四个方法
       initialize 初始化
       public Event intercept(Event event) 处理单个 Event
       public List<Event> intercept(List<Event> events) 处理多个 Event ,在这个方法中调
          用 Event intercept(Event event)
       close 方法
   (3)静态内部类,实现 Interceptor.Builder
3 )拦截器可以不用吗?
             ETL 拦截器可以不用;需要在下一级 Hive dwd 层和 SparkSteaming 里面处理
      时间戳拦截器建议使用。 如果不用需要采用延迟 15-20 分钟处理数据的方式,比较麻
      烦。

2. Flume Channel 选择器

      Replicating:默认选择器。功能:将数据发往下一级所有通道
      Multiplexing:选择性发往指定通道。

3. Flume 监控器

      1)采用 Ganglia 监控器,监控到 Flume 尝试提交的次数远远大于最终成功的次数,说明                      Flume 运行比较差。主要是内存不够导致的。
      2)解决办法?
           ( 1 )自身: flume 默认内存 2000m 。考虑增加 flume 内存,在 flume-env.sh 配置文件中
                    修改 flume 内存为 4-6g
                   -Xmx -Xms 最好设置一致,减少内存抖动带来的性能影响,如果设置不一致容易导
                   致频繁 fullgc
           (2)找朋友:增加服务器台数
                     搞活动 618 = 》增加服务器 = 》用完在退出
                     日志服务器配置: 8-16g 内存、磁盘 8T

4. Flume 采集数据会丢失吗?(防止数据丢失的机制)

           如果是 FileChannel 不会, Channel 存储可以存储在 File 中,数据传输自身有事务。
           如果是 MemoryChannel 有可能丢。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。