首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Flume 整体介绍

Flume 数据采集         概述:             Flume 是一个数据采集工具,主要可以理解为对日志数据或者其他数据的采集。可以对例如日志数据进行采集传输到我们想要传输的地方,比如从本地文件系统采集数据到HDFS的HIVE目录下获取HDFS的其他目录,提供HIVE进行数据分析。             Flume运行方式为Agent Flume,如果有多个数据源,并且文件系统,则需要启动多个Agent Flume 进行数据采集。         组成:             Flume有三大组件:Source,Channel,Sink,             Source:指定采集数据源,类型:spooldir(本地系统),MySql,                 Source 不仅仅可以定义数据源信息,还可以定义检索文件类型,或者自定义文件获取方式             Channel:通道,通过Channel连接Source和Sink,中间作缓冲,提供适配,类型:Memery,File,JDBC                 Channel 还可以指定文件缓存大小             Sink:指定数据输出目标系统,类型:HDFS,Hive,HBase                 如果Sink输出为HDFS,Hive,则还可以指定文件大小,文件前后缀,文件读写周期等。         安装:             1. 解压Flume安装包             2. 配置系统配置文件 flume-site.xml(FADOOP_HOME,HDFS_HOME,ZooKeeper_HOME),之所以分开是因为Flume是Cloudra提供的,他把HDFS与MapReduce分开了,他提供了整合了的HADDOOP 大数据平台运行框架,更加方便部署。也有可能需要指定HBASE,HIVE等。             3. 配置数据采集业务配置文件  ***.xml             4. 启动Flume         运行机制:Flume通过Agent 方式运行数据采集,可以部署在多台机器,主要根据数据源存储形态来具体决定,如果数据源为多个文件系统,则需要运行多套Agent来采集,如果数据源为Mysql,则一个Agent就够了。Flume通过配置文件定义数据的采集-Source阶段,数据缓存-Channel阶段,及数据发送-Sink阶段。首先Source读取数据文件到Channel,Channel缓存起来,达到触发条件(触发条件自己定义或者默认)则会发动到Sink端进行保存,Sink端对发送的数据也定义定,包括存储文件大小,名称,前后缀等。         重点:             业务配置文件 ***.xml : 一个xml文件里面可以定制多套 FCS流程,即在定义时可以同时存在几套FCS流程在XML文件中,我们在启动Flume时需要指定FCS流程的名称来区分             多级Agent:我们可以指定多个Agent进行关联操作,即一个Agent的Sink输出为另一个Agent的Source输入。             比如Agent1为Agent2 提供输入,则Agent1 输出类型为:Avro Source,Qgent1的输入类型可以为任何允许的输出,Agent2的 输入类型为 :Avro SinK,Agent2的输出类型为允许的任何输出。             Flume是基于事务的,可以保证数据的传输时发送与接受的一致性。         Sample:

01

几十条业务线日志系统如何收集处理?

在互联网迅猛发展的今天 各大厂发挥十八般武艺的收集用户的各种信息,甚至包括点击的位置,我们也经常发现自己刚搜完一个东西,再打开网页时每个小广告都会出现与之相关联的商品或信息,在感叹智能的同时不惊想 什么时候泄露的行踪。   许多公司的业务平台每天都会产生大量的日志数据。收集业务日志数据,供离线和在线的分析系统使用,正是日志收集系统的要做的事情。   用户的数据除了这种后台默默的收集外,还有各种运行的日志数据和后台操作日志,因此每个业务可以算是一种类型的日志,那稍大点的公司就会有几十种日志类型要收集,而且

010

Flume快速入门系列(9) | 如何自定义Sink

Sink不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。   Sink是完全事务性的。在从Channel批量删除数据之前,每个Sink用Channel启动一个事务。批量事件一旦成功写出到存储系统或下一个Flume Agent,Sink就利用Channel提交事务。事务一旦被提交,该Channel从自己的内部缓冲区删除事件。   Sink组件目的地包括hdfs、logger、avro、thrift、ipc、file、null、HBase、solr、自定义。官方提供的Sink类型已经很多,但是有时候并不能满足实际开发当中的需求,此时我们就需要根据实际需求自定义某些Sink。   官方也提供了自定义source的接口: https://flume.apache.org/FlumeDeveloperGuide.html#sink 根据官方说明自定义MySink需要继承AbstractSink类并实现Configurable接口。 实现相应方法:

01

Ambari + HDP 整体介绍

Ambari 是 hortonworks推出的管理监控Hadoop集群的Web工具,此处的Hadoop集群不单单指Hadoop集群,而是泛指hadoop 整个生态,包括Hdfs,yarn,Spark,Hive,Hbase,Zookeeper,druid等等,管理指的是可以通过Ambari对整个集群进行动态管理,包括集群的部署,修改,删除,扩展等,监控指Ambari实时监控集群的运行状况,包括运行内存,剩余内存,CPU使用率,节点故障等。所以通过Ambari可以简化对集群的管理和监控,让开发者更多的聚焦与业务逻辑。     Ambari + HDP介绍:         Ambari:WEB应用程序,后台为Ambari Server,负责与HDP部署的集群工作节点进行通讯,集群控制节点包括Hdfs,Spark,Zk,Hive,Hbase等等。         HDP:HDP包中包含了很多常用的工具,比如Hadoop,Hive,Hbase,Spark等         HDP-Util:包含了公共包,比如ZK等一些公共组件。     老的集群部署方式:         1. 集群配置(免密登陆,静态IP,防火墙)         2. JDK,MySql 部署 (Hive相关表结构管理,如果没有用到Hive,无需安装)         3. Hadoop Hdfs 部署(修改配置) (分布式文件存储)         4. Hadoop Yarn 部署(修改配置) (MapReduce 任务调度)         5. (可选) Zookeeper部署,需要修改NameNode 和 ResourceManager 的配置文件         6. Hive 部署 (数据仓库,对Hdfs上保存的数据进行映射管理)         7. HBase 部署 (NoSQL数据库,进行数据存储)         8. (可选) Flume,Sqoop 部署(主要用于数据采集,数据迁移)         9. Spark 部署 (计算框架部署)         10. 后面还需要部署 监控框架等等,         部署准备:MySql,JDK,Hadoop,Hive,HBase,Zookeeper,Spark,Flume,Sqoop等         部署缺点:以上全部部署都是通过命令行来部署,麻烦复杂,容易出错,动态扩展较难,无集群监控    部署优点:整体可控,对集群内部运行逻辑比较清楚,只部署需要的服务,所以对集群要求(内存,CPU及硬盘) 可以不是很高     Ambari 集群部署方式:         1. 集群配置(免密登陆,静态IP,防火墙)         2. JDK,MySql 部署 (需要配置Ambari,Hive,Hbase等多张表)         3. 部署Ambari 服务         4. 通过Ambari Web工具 部署Hdfs,Spark,Hive,Zk,Hbase,Flume等,想怎么部署就怎么部署,鼠标选择服务和需要部署的节点即可         5. 通过Ambari Web工具进行集群监控,并且对警告及错误进行处理         部署准备:MySql,JDK,Ambari,HDP,HDP-Util,和上面老的部署方式相比,是不是少了很多    部署注意事项:通过Ambari部署集群对集群节点机器要求比较高,因为有好多关于AmbariServer服务会部署在同一个管理节点上,同时其他集群节点也会同时部署很多其他服务,这对节点的配置(CPU,内存,硬盘)要求比较高,可能运行不起来。         部署优点:部署简单,一键部署,方便监控,方便扩展,多集群同时管理     Ambari 部署步骤:         1. 单节点:Ntp,java,selinux,hosts,hostname,ip         2. 克隆节点,修改ip及hostname         3. 安装mysql,配置免密登陆         4. 安装httpd,配置本地ambari+HDP 的yum源         5. Ambari Server安装及初始化         6. Ambari Server 通过向导安装集群         7. Ambari 使用介绍         8. Hdfs HA的高可用         9. 接下来就可以根据我们的需求使用集群了,这部分后面会有专门章节针对Hadoop MR 和Spark进行详细解读。

01
领券