Apache Storm

想进入大数据领域,该怎么入门?

风格不统一 提交于 2019-11-30 03:56:16
大数据已成为一个高速信息社会科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便的高科技时代产物。那么关于大数据的五大问题你是否了解?今日就跟着技术学派一起来看一看。 第一,大数据是什么? 大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 大数据可分成大数据技术、大数据工程、大数据科学和大数据应用等领域。目前人们谈论最多的是大数据技术和大数据应用。工程和科学问题尚未被重视。大数据工程指大数据的规划建设运营管理的系统工程;大数据科学关注大数据网络发展和运营过程中发现和验证大数据的规律及其与自然和社会活动之间的关系。 大数据不仅仅是大量的数据,还是来自不同来源,存在不同类型,代表不同含义的海量数据。大数据应该动态变化,不断增加,而且能够通过研究分析发现规律产生价值。 第二,大数据可以做什么? 物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。 大数据能用来收集分析人们的社会需求和生活状态;还可以用大数据的分析来改善城市交通管理;大数据还能分析人们的身体健康情况、保障市民的医疗和健康条件;还可以分析和防止犯罪行为等;可以帮助我们根据对历史情况的分析,发现事物的发展变化规律

聊聊storm trident的operations

自作多情 提交于 2019-11-29 20:47:55
序 本文主要研究一下storm trident的operations function filter projection Function storm-core-1.2.2-sources.jar!/org/apache/storm/trident/operation/Function.java public interface Function extends EachOperation { /** * Performs the function logic on an individual tuple and emits 0 or more tuples. * * @param tuple The incoming tuple * @param collector A collector instance that can be used to emit tuples */ void execute(TridentTuple tuple, TridentCollector collector); } Function定义了execute方法,它发射的字段会追加到input tuple中 Filter storm-core-1.2.2-sources.jar!/org/apache/storm/trident/operation/Filter.java public

大数据认知阶段——如何学习大数据相关技术

久未见 提交于 2019-11-29 08:17:54
已经看了大数据相关知识一阵时间了,自己也是从新手开始的,所以看了大量的大数据如何入门的技术博客、帖子等,下面记录总结下自己学习的内容。 一、大数据学习前期知识储备 在学习大数据前,需要对云计算、虚拟化、Linux、JAVA这几个方面都需要了解,下面简单阐述下这几个方面的概念。 1.云计算 所谓的云计算,指的就是把你的软件和服务统一部署在数据中心,统一管理,从而实现高伸缩性。 云计算的部署方式 从部署方式来说,总共有两类云计算: 私有云:数据中心部署在企业内部,由企业自行管理。微软为大家提供了Dynamic Data Center Toolkit,来方便大家管理自己的数据中心。 公共云:数据中心由第三方的云计算供应商提供,供应商帮助企业管理基础设施(例如硬件,网络,等等)。企业将自己的软件及服务部属在供应商提供的数据中心,并且支付一定的租金。Windows Azure正是这样一个公共云平台。 云计算的运营方式 从运营方式来说,总共有三类云计算: 软件即服务(SaaS):云计算运营商直接以服务的形式供应软件,供最终用户使用。有些服务还提供了SDK,从而使得第三方开发人员可以进行二次开发。在这种运营模式下,开发人员通常只能针对现有的产品开发插件,而无法充分挖掘平台和操作系统的特点,不过他们可以在现有产品的基础上添加新的功能,而不必从头开始实现。微软的Bing,Windows Live

大数据学习路线推荐

与世无争的帅哥 提交于 2019-11-29 07:59:38
1 Java基础: 视频方面: 推荐《毕向东JAVA基础视频教程》。学习hadoop不需要过度的深入,java学习到javase,在Java虚拟机的内存管理、以及多线程、线程池、设计模式、并行化多多理解实践即可。 书籍方面: 推荐李兴华的《java开发实战经典》 2 Linux基础: 视频方面: (1)马哥的高薪Linux视频课程-Linux入门、    (2)兄弟连的新版Linux视频教程、 (3)老段的讲解鸟哥Linux基础+私房菜、 (4)老男孩的Linux。 看的过程中,不可只看不同步操作,这是最危险的一件事!不需全部看完。如:基本的Linux操作系统官网下载、安装(命令行界面和图形界面)、基本命令、网络配置、快照、VM tools工具安装、虚拟机的菜单熟悉等等。这是必须要首先完成的。之后,可回过来再根据需要使用到哪些,再来学习即可。当作工具书! 书籍方面: (1)《鸟哥的linux私房菜》, (2)之后,进一步可以看书籍《鸟哥的服务架设篇》。 (3)Linux随身指南      (4)老男孩Linux运维 系统学习只要多多实践,学习linux并不枯燥。 1 3 hadoop书籍: (1)《Hadoop实战 (第1版) 陆嘉恒》、《Hadoop实战 (第2版) 陆嘉恒》 (2) 《hadoop definitive guide 》, 中文书名是《Hadoop权威指南

超越Storm,SparkStreaming——Flink如何实现有状态的计算

ぐ巨炮叔叔 提交于 2019-11-29 04:45:34
流式计算分为无状态和有状态两种情况。无状态计算观察每个独立的事件,Storm就是无状态的计算框架,每一条消息来了以后和前后都没有关系,一条是一条。比如我们接收电力系统传感器的数据,当电压超过240v就报警,这就是无状态的数据。但是如果我们需要同时判断多个电压,比如三相电路,我们判断三相电都高于某个值,那么就需要将状态保存,计算。因为这三条记录是分别发送过来的。 Storm需要自己实现有状态的计算,比如借助于自定义的内存变量或者redis等系统,保证低延迟的情况下自己去判断实现有状态的计算,但是Flink就不需要这样,而且作为新一代的流处理系统,Flink非常重视。 一致性 其实就是消息传递的正确性。在流处理中,一致性分为 3 个级别。 at-most-once:最多一次,可能会丢失。 at-least-once:最少一次,可能会重复,而计算的时候可能就会多次运算影响结果。 exactly-once:恰好保证一次,这样得到的结果是最准确的。 最先保证 exactly-once 的系统(Storm Trident 和 Spark Streaming),但是在性能和表现力这两个方面付出了很大的代价。为了保证 exactly-once,这些系统无法单独地对每条记录运用应用逻辑,而是同时处理多条(一批)记录,保证对每一批的处理要么全部成功,要么全部失败。这就导致在得到结果前,

从Storm到Flink,有赞五年实时计算效率提升实践

邮差的信 提交于 2019-11-26 20:10:59
作者:贺飞 导读:有赞是一个商家服务公司,提供全行业全场景的电商解决方案。在有赞,大量的业务场景依赖对实时数据的处理,作为一类基础技术组件,服务着有赞内部几十个业务产品,几百个实时计算任务,其中包括交易数据大屏,商品实时统计分析,日志平台,调用链,风控等多个业务场景,本文将介绍有赞实时计算当前的发展历程和当前的实时计算技术架构。 实时计算在有赞发展 从技术栈的角度,我们的选择和大多数互联网公司一致,从早期的 Storm,到 JStorm, Spark Streaming 和最近兴起的 Flink。从发展阶段来说,主要经历了两个阶段,起步阶段和平台化阶段;下面将按照下图中的时间线,介绍实时计算在有赞的发展历程。 2.1 起步阶段 这里的的起步阶段的基本特征是,缺少整体的实时计算规划,缺乏平台化任务管理,监控,报警工具,用户提交任务直接通过登录 AG 服务器使用命令行命令提交任务到线上集群,很难满足用户对可用性的要求。但是,在起步阶段里积累了内部大量的实时计算场景。 2.1.1 Storm 登场 2014 年初,第一个 Storm 应用在有赞内部开始使用,最初的场景是把实时事件的统计从业务逻辑中解耦出来,Storm 应用通过监听 MySQL 的 binlog 更新事件做实时计算,然后将结果更新到 MySQL 或者 Redis 缓存上,供在线系统使用。类似的场景得到了业务开发的认可

北京IT届(清华博士总结的干货大数据学习路线

夙愿已清 提交于 2019-11-26 17:12:38
一,题记 要说当下IT行业什么最火?ABC无出其右。所谓ABC者,AI + Big Data + Cloud也,即人工智能、大数据和云计算(云平台)。每个领域目前都有行业领袖在引领前行,今天我们来讨论下大数据Big Data这个方向。 二,大数据里面的角色 角色一:大数据工程 大数据工程需要解决数据的定义、收集、计算与保存的工作,因此大数据工程师们在设计和部署这样的系统时首要考虑的是数据高可用的问题,即大数据工程系统需要实时地为下游业务系统或分析系统提供数据服务; 角色二:大数据分析 大数据分析角色定位于如何利用数据——即从大数据工程系统中接收到数据之后如何为企业或组织提供有产出的数据分析,并且确实能够帮助到公司进行业务改善或提升服务水平,所以对于大数据分析师来说,他们首要解决的问题是发现并利用数据的价值,具体可能包括:趋势分析、模型建立以及预测分析等。 这两类角色相互依存但又独立运作,何意?没有大数据工程,大数据分析便无从谈起;但倘若没有大数据分析,我也实在想不出大数据工程存在的理由。这就类似于结婚和谈恋爱——恋爱的目的是为了结婚,且不以结婚为目的的谈恋爱都是耍流氓。 简单总结一下,大数据工程角色需要考虑数据的收集、计算(或是处理)和保存;大数据分析角色则是执行数据的高级计算。 三,大数据工程师 针对角色一:大数据工程说,对应的工作岗位就叫大数据工程师,对于大数据工程师而言

Apache Slider + Storm

白昼怎懂夜的黑 提交于 2019-11-26 11:27:53
#Apache Slider + Storm ##系统环境 安装如下组件,部署可用环境 JDK 1.7.0_79 Apache Zookeeper 3.4.* Apache Zookeeper Apache Hadoop 2.6.* Apache Hadoop Apache Storm 0.9.4 Apache Storm Download Apache storm配置相关目录及环境变量,不启动服务,主要作用为client连接slider storm需要使用 Apache Slider 0.91.0 Apache Slider Apache Slider部署参照 Apache Slider编译安装 ##Storm App Package编译 ###下载Strom可执行包 下载软件包apache-storm-0.9.4.tar.gz至/home/hadoop/Downloads目录下。 cd /home/hadoop/Downloads ls apache-storm-0.9.4.tar.gz ###编译环境 Slider编译环境参照 Apache Slider编译安装 Storm Slider编译命令 mvn clean package -DskipTests -Pstorm-app-package -Dpkg.version=0.9.4 -Dpkg.name=apache

58 集团大规模 Storm 任务平滑迁移至 Flink 的秘密

久未见 提交于 2019-11-25 17:01:50
Flink-Storm 是 Flink 官方提供的用于 Flink 兼容 Storm 程序 beta 工具,并且在 Release 1.8 之后去掉相关代码。本文主要讲述 58 实时计算平台如何优化 Flink-Storm 以及基于 Flink-Storm 实现真实场景下大规模 Storm 任务平滑迁移 Flink。 背景 58 实时计算平台旨在为集团业务部门提供稳定高效实时计算服务,主要基于 Storm 和 Spark Streaming 构建,但在使用过程中也面临一些问题,主要包括 Storm 在吞吐量不足以及多集群带来运维问题,Spark Streaming 又无法满足低延迟的要求。Apache Flink 开源之后,其在架构设计、计算性能和稳定性上体现出的优势,使我们决定采用 Flink 作为新一代实时计算平台的计算引擎。同时基于 Flink 开发了一站式高性能实时计算平台 Wstream,支持 Flink jar,Stream Sql,Flink-Storm 等多样化任务构建方式。 在完善 Flink 平台建设的同时,我们也启动 Storm 任务迁移 Flink 计划,旨在提升实时计算平台整体效率,减少机器成本和运维成本。 Storm vs Flink 尽管 Flink 作为高性能计算引擎可以很好兼容 Storm,但在业务迁移过程中,我们仍然遇到了一些问题: 1 .用户对