昨日阅读2小时,总计77小时
ch3. 非关系型数据的收集
非关系型数据,包括网页、视频、图片、用户行为日志、机器日志等
通常用于行为分析系统、推荐系统、广告系统中。
对流式日志,需要采用良好扩展性、伸缩性、容错性的分布式系统(Hadoop生态系统提供了Flume,是Cloudera公司开源的一个分布式、高可靠系统)
Flume的设计动机:高效收集流式日志,并发送到后端存储系统,统一分析和挖掘。
主要解决:数据源种类繁多、物理上是分布的;内容是流式的、不间断产生的;对可靠性有一定要求。
基本思想及特点:插拔式软件架构(良好的扩展性、高度定制化、声明式动态化配置、语意路由、内置事务支持,保证发送的每条数据能够被下一跳收到而不会丢失,即良好可靠性)
Flume NG基本架构(OG已被弃用):对数据流水线中传递的数据称为“Event”,每个Event由头部和字节数组(数据内容)两部分构成,头部由Key/Value对构成。
Agent内部由三个组件构成:Source,Channel(缓冲区,暂存Source写入的Event),Sink(负责从Channel读取数据,并发送给下一个Agent的source)
允许用户设置其他组件更灵活地控制数据流:Interceptor、Channel Selector、Sink Processor等。
Flume NG数据流TOP构建方法:确定流式数据获取方式;根据需求规划Agent(数目、依赖关系);设置每个Agent;测试构建的数据流top;生产环境部署
1)获取方式:RPC;TCP或UDP;执行命令
2)常见top架构:多路合并、多路复用
实例命令示例。