flume

大数据架构师从入门到精通,该具备怎么样的知识体系?

不羁的心 提交于 2020-01-14 14:19:27
经常有初学者在博客和QQ问我,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高。如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么我就想问一下,你的专业是什么,对于计算机/软件,你的兴趣是什么?是计算机专业,对操作系统、硬件、网络、服务器感兴趣?是软件专业,对软件开发、编程、写代码感兴趣?还是数学、统计学专业,对数据和数字特别感兴趣。 其实这就是想告诉你的大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/ 设计/ 架构、数据分析/挖掘。请不要问我哪个容易,哪个前景好,哪个钱多。 先扯一下大数据的4V特征: 数据量大 ,TB->PB 数据类型繁多 ,结构化、非结构化文本、日志、视频、图片、地理位置等; 商业价值高 ,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来; 处理时效性高 ,海量数据的处理需求不再局限在离线计算当中。 现如今,正式为了应对大数据的这几个特点,开源的大数据框架越来越多,越来越强,先列举一些常见的: 文件存储: Hadoop HDFS、Tachyon、KFS 离线计算: Hadoop MapReduce、Spark 流式、实时计算: Storm、Spark Streaming、S4、Heron K-V、NOSQL数据库: HBase、Redis、MongoDB 资源管理:

数据收集之flume与kafka

孤者浪人 提交于 2020-01-14 09:10:35
概念 Flume是管道流方式,提供了很多的默认实现。 Kafka是一个可持久化的分布式的消息队列。 对比 Kafka 是一个通用的系统,可以有许多生产者和消费者共享多个主题。相比之下,Flume是一个专用工具,被设计为旨在往HDFS,HBase发送数据。如果数据被多个系统消费,使用kafka;如果数据被设计给Hadoop使用,使用Flume。 使用Kafka意味着你准备好了编写你自己的生产者和消费者代码。如果已经存在的Flume Sources和Sinks满足你的需求,并且你更喜欢不需要任何开发的系统,请使用Flume。 Flume可以使用拦截器实时处理数据。这些对数据屏蔽或者过量是很有用的。Kafka需要外部的流处理系统才能做到。 Flume不支持副本事件。于是,如果Flume代理的一个节点崩溃了,即使使用了可靠的文件管道方式,你也将丢失这些事件直到你恢复这些磁盘。如果你需要一个高可靠行的管道,那么使用Kafka是个更好的选择。 应用 Flume和Kafka可以结合起来使用。通常会使用Flume + Kafka的方式。其实如果为了利用Flume已有的写HDFS功能,也可以使用Kafka + Flume的方式。 来源: CSDN 作者: Leticia的博客 链接: https://blog.csdn.net/weixin_40213018/article/details

Flume - Kafka日志平台整合

谁说我不能喝 提交于 2020-01-14 04:16:29
1. Flume介绍 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 agent agent本身是一个Java进程,运行在日志收集节点—所谓日志收集节点就是服务器节点。 agent里面包含3个核心的组件:source—->channel—–>sink,类似生产者、仓库、消费者的架构。 source source组件是专门用来收集数据的,可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy、自定义。 channel source组件把数据收集来以后,临时存放在channel中,即channel组件在agent中是专门用来存放临时数据的——对采集到的数据进行简单的缓存,可以存放在memory、jdbc、file等等。 sink sink组件是用于把数据发送到目的地的组件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、Hbase、solr、自定义。 event 将传输的数据进行封装

Flume-Kafka(Scala)

夙愿已清 提交于 2020-01-14 03:37:55
Flume-kafka 版本信息 架构图 Flume配置文件 Kafka消费者 服务器测试 代码测试 版本信息 Flume 版本:1.7 Kafka版本:kafka_2.11-2.3.1 架构图 Flume配置文件 # exec_memory_kafka.conf a1.sources = r1 a1.channels = c1 a1.sinks = k1 a1.sources.r1.type = exec a1.sources.r1.command = tail -F /home/hadoop/flume-1.7.0/log/test.log a1.sources.r1.channels = c1 a1.channels.c1.type = memory a1.channels.c1.capacity = 10000 a1.channels.c1.transactionCapacity = 10000 a1.channels.c1.byteCapacityBufferPercentage = 20 a1.channels.c1.byteCapacity = 800000 a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = flume_kafka a1.sinks.k1

java.io.IOException: Cannot obtain block length for LocatedBlock

本小妞迷上赌 提交于 2020-01-13 19:46:32
问题 I am using HDP 2.1. for the cluster. I've encountered below exception and the MapReduce jobs have been failed because of that. Actually, we regularly create tables using the data from Flume which is ver. 1.4. and I checked the data files which mapper tried to read but I couldn't find anything on that. 2014-11-28 00:08:28,696 WARN [main] org.apache.hadoop.metrics2.impl.MetricsConfig: Cannot locate configuration: tried hadoop-metrics2-maptask.properties,hadoop-metrics2.properties 2014-11-28 00

flume的自定义sink-Kafka

亡梦爱人 提交于 2020-01-13 13:38:24
1、创建一个agent,sink类型需指定为自定义sink vi /usr/local/flume/conf/agent3.conf agent3.sources=as1 agent3.channels=c1 agent3.sinks=s1 agent3.sources.as1.type=avro agent3.sources.as1.bind=0.0.0.0 agent3.sources.as1.port=41414 agent3.sources.as1.channels=c1 agent3.channels.c1.type=memory agent3.sinks.s1.type=storm.test.kafka.TestKafkaSink agent3.sinks.s1.channel=c1 2、创建自定义kafka sink(自定义kafka sink中包装的是kafka的生产者),代码如下 //参考flume官方的开发文档:http://flume.apache.org/FlumeDeveloperGuide.html#sink //自定义kafkasink需要继承AbstractSink类实现Configurable接口 //该sink中使用的kafka topic(test111)必须存在 1 package storm.test.kafka; 2 3 import

flume+kafka+hdfs详解

人走茶凉 提交于 2020-01-12 16:55:37
flume架构图 单节点flume配置 flume-1.4.0 启动flume bin/flume-ng agent --conf ./conf -f conf/flume-conf.properties -Dflume.root.logger=DEBUG,console -n agent -n表示配置文件中agent的名字 [java] view plain copy agent.sources = r1 agent.sinks = s1 agent.channels = c1 agent.sources.r1.channels = c1 agent.sinks.s1.channel = c1 #Describe/configure the sources agent.sources.r1.type = exec agent.sources.r1.command = tail -F /home/flume/loginfo #Use a channel which buffers events in memory agent.channels.c1.type = memory agent.channels.c1.capacity = 1000 #Event agent.channels.c1.transactionCapacity = 100 agent.sinks.s1.type

Kafka+flume+kudu——kafka的数据通过flume加载到kudu中

天涯浪子 提交于 2020-01-12 08:13:43
预置条件 本文采用clouderaManage安装了kafka、flume、和kudu。注意:在安装kudu的时候一定需要时间同步。具体的时间同步设置方法请参照: https://blog.csdn.net/u014516601/article/details/81433594 。 本文kafka、flume和kudu的版本分别如下: <flume.version>1.6.0</flume.version> <kudu.version>1.7.0</kudu.version> 数据加载的流程 flume没有集成kudu,因此需要第三方jar包,因此依赖kudu-flume-sink-1.7.0-cdh5.16.1.jar,将该jar包放在flume的lib下面。如果基于clouderaManage安装,则可以直接放在/opt/cloudera/parcels/CDH-5.16.1-1.cdh5.16.1.p0.3/lib/flume-ng/lib 编写kudusink类,实现KuduOperationsProductor接口,必须重写:configure、initialize、getOperations和close方法,下面是本文的实例代码: 三 .编辑flume的agent文件 kafka.sources = kafkasource kafka.sinks = kudusink1

Flume NG and HDFS

六月ゝ 毕业季﹏ 提交于 2020-01-11 05:33:08
问题 I am very new to hadoop , so please excuse the dumb questions. I have the following knowledge Best usecase of Hadoop is large files thus helping in efficiency while running mapreduce tasks. Keeping the above in mind I am somewhat confused about Flume NG. Assume I am tailing a log file and logs are produced every second, the moment the log gets a new line it will be transferred to hdfs via Flume. a) Does this mean that flume creates a new file on every line that is logged in the log file I am

flume介绍

蹲街弑〆低调 提交于 2020-01-11 03:39:13
Flume技术原理 1.Flume是什么 1.1.Flume是开源日志系统。是一个分布式、可靠和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 1.2.Flume是流式日志采集工具,Flume提供对数据进行简单处理并且写到各种数据接受方(可定制)的能力,Flume提供从本地文件(spooling directory source)、实时日志(taildir、exec)、REST消息、 Thrift 、Avro、Syslog、Kafka等数据源上收集数据的能力。 2.Flume能干什么 2.1. 2.2.合并数据:即是将源文件多行数据当做一条数据给Flume,如果不合并,文件中的一行数据就是一条数据。 2.3. 2.4.提供从固定目录下采集日志信息到目的地(HDFS, HBase, Kafka)能力。 2.5.提供实时采集日志信息(taildir)到目的地的能力。 2.6.Flume支持级联(多个Flume对接起来),合并数据的能力。 2.7.Flume支持按照用户定制采集数据的能力。 2.8. 3.Flume在FusionInsight中的位置 3.1.Flume是收集、聚合事件流数据的分布式框架 4.Flume架构 (1) 4.1.Flume基础架构