storm

使用GitHub搭建自己的博客

我的梦境 提交于 2019-12-14 12:00:29
使用GitHub搭建自己的博客 Hi,你好。欢迎来到Storm的博客,这是我的第一篇文章。作为一个技术人,是有点汗颜,已经在这个圈子里混了两三年了才真正去搭建属于自己的博客。其实也不知道,自己此举能够坚持多久,但是喜欢折腾的个性还是逼自己去做了这件事。不管能做的有多好,也不再去有这个遗憾了。 期望还是要有的,就希望自己能从一个喜欢分享的人,慢慢成长为一个会分享的人吧。一切静静地开始,如果你对我来说是个陌生人,看到一些对你有用的东西那就请你祝福我吧,我们一起努力。成长为更好的自己。如果你是Storm的朋友,那就支持一下我吧,我就是一个需要肯定才会走的更远的人啊。 搭建自己的简易博客 创建一个Github仓库 仓库名称格式为: < 你的GitHub账户名 > .github.io 传送门: Github 本地环境搭建 #安装 git #配置你的账号密码 生成ssh密钥 配置到Github #安装 node.js cd 到目标文件夹 安装 hexo $ sudo npm install -g hexo #初始化 $ hexo init #安装依赖 $ npm install 传送门: hexo文档 本地部署 $ hexo g $ hexo s #访问 loaclhost:4000 验证部署 传送门: hexo文档 部署到Github #cd 到hexo安装根目录 修改_config

Storm与Spark区别

主宰稳场 提交于 2019-12-12 10:15:42
Storm擅长于动态处理大量实时生产的小数据块,概念上是将小数据量的数据源源不断传给过程; Spark擅长对现有的数据全集做处理,概念是将过程传给大数据量的数据。 二者设计思路相反。Storm侧重于处理的实时性,Spark侧重处理庞大数据(类似于Hadoop的MR)。 Spark流模块(Spark Streaming)与Storm类似,但有区别: 1.Storm纯实时,来一条数据,处理一条数据;SparkStreaming准实时,对一个时间段内的数据收集起来,作为一个RDD,再做处理。 2.Storm响应时间毫秒级;Spark Streaming响应时间秒级 3.Storm可以动态调整并行度;SparkStreaming不行 Storm应用场景: 1、对于需要纯实时,不能忍受1秒以上延迟的场景 2、要求可靠的事务机制和可靠性机制,即数据的处理完全精准 3、如果还需要针对高峰低峰时间段,动态调整实时计算程序的并行度,以最大限度利用集群资源 Spark Streaming应用场景: 1、Spark Streaming可以和Spark Core、Spark SQL无缝整合,如果一个项目除了实时计算之外,还包括了离线批处理、交互式查询等业务功能,考虑使用Spark Streaming。 来源: CSDN 作者: roshy 链接: https://blog.csdn.net/roshy

JStorm:任务调度

与世无争的帅哥 提交于 2019-12-12 01:26:19
前一篇文章 JStorm:概念与编程模型 介绍了JStorm的基本概念以及编程模型方面的知识,本篇主要介绍自己对JStorm的任务调度方面的认识,主要从三个方面介绍: 调度角色 调度方法 自定义调度 调度角色 上图是JStorm中一个topology对应的任务执行结构,其中worker是进程,executor对应于线程,task对应着spout或者bolt组件。 Worker Worker是task的容器, 同一个worker只会执行同一个topology相关的task。 一个topology可能会在一个或者多个worker(工作进程)里面执行,每个worker执行整个topology的一部分。比如,对于并行度是300的topology来说,如果我们使用50个工作进程来执行,那么每个工作进程会处理其中的6个tasks。Storm会尽量均匀的工作分配给所有的worker。 Executor Executor是在worker中的执行线程,在同一类executor中,要么全部是同一个bolt类的task,要么全部是同一个spout类的task,需要注意的是, 一个executor只能同时运行一个task,创建时将多个task设置在一个executor中,在前期Storm中主要考虑的是后期线程扩展(待验证),但是在JStorm中可以在rebalance时改变Task的数量

storm是如何保证at least once语义的?

亡梦爱人 提交于 2019-12-11 02:10:35
storm中的一些原语: 要说明上面的问题,得先了解storm中的一些原语,比如: tuple和message tuple:在storm中,消息是通过tuple来抽象表示的,每个tuple知道它从哪里来,应往哪里去,包含了其在tuple-tree(如果是anchored的话)或者DAG中的位置,等等信息。 spout spout充当了tuple的发送源,spout通过和其它消息源,比如kafka交互,将消息封装为tuple,发送到流的下游。 bolt bolt是tuple的实际处理单元,通过从spout或者另一个bolt接收tuple,进行业务处理,将自己加入tuple-tree(通过在emit方法中设置anchors)或DAG,然后继续将tuple发送到流的下游。 acker acker是一种特殊的bolt,其接收来自spout和bolt的消息,主要功能是追踪tuple的处理情况,如果处理完成,会向tuple的源头spout发送确认消息,否则,会发送失败消息,spout收到失败的消息,根据配置和自定义的情况会进行消息的丢弃、重放处理。 spout、bolt、acker的关系: spout将tuple发送给流的下游的bolts. bolt收到tuple,处理后发送给下游的bolts. spout向acker发送请求ack的消息. bolt向acker发送请求ack的消息.

安装Storm

人盡茶涼 提交于 2019-12-10 11:13:41
1、安装一个zookeeper集群 2、上传storm的安装包,解压 3、修改配置文件storm.yaml #所使用的zookeeper集群主机 storm.zookeeper.servers: - “zjgm01” - “zjgm02” - “zjgm03” #nimbus所在的主机名 nimbus.host: “zjgm01” 启动storm 在nimbus主机上 ./storm nimbus ./storm ui 在supervisor主机上 ./storm supervisor 来源: CSDN 作者: weixin_44363242 链接: https://blog.csdn.net/weixin_44363242/article/details/103469661

大数据学习路线是怎么样的?

与世无争的帅哥 提交于 2019-12-09 16:39:54
1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构; 学完此阶段可解决的现实问题: 搭建负载均衡、高可靠的服务器集群,可以增大网站的并发访问量,保证服务不间断地对外服务; 学完此阶段可拥有的市场价值: 具备初级程序员必要具备的Linux服务器运维能力。 1.内容介绍: 在大数据领域,使用最多的操作系统就是Linux系列,并且几乎都是分布式集群。该课程为大数据的基础课程,主要介绍Linux操作系统、Linux常用命令、Linux常用软件安装、Linux网络、防火墙、Shell编程等。 2.案例:搭建互联网高并发、高可靠的服务架构。 2.离线计算系统课程阶段 1. 离线计算系统课程阶段 hadoop核心技术框架 学完此阶段可掌握的核心能力: 1、通过对大数据技术产生的背景和行业应用案例了解hadoop的作用;2、掌握hadoop底层分布式文件系统HDFS的原理、操作和应用开发;3、掌握MAPREDUCE分布式运算系统的工作原理和分布式分析应用开发;4、掌握HIVE数据仓库工具的工作原理及应用开发。 学完此阶段可解决的现实问题: 1、熟练搭建海量数据离线计算平台;2、根据具体业务场景设计、实现海量数据存储方案;3

复习总结05:Storm

蓝咒 提交于 2019-12-08 19:32:54
一、流式计算概述: 流式计算:数据实时产生、数据实时传输、数据实时计算、实时展示。也是区别于离线计算的特点。 代表技术: Flume 实时获取数据、 Kafka/ metaq 实时数据存储、 Storm/JStorm 实时数据计算、 Redis 实时 结果 缓存、持久化存储 (MySQL) 。 将源源不断产生的数据实时收集并实时计算,尽可能快的得到计算结果 二、Storm概述: 实时处理大数据框架,具有低延迟、高可用、分布式、可扩展、数据不丢失的特点。 Storm:实时计算,处理的数据保存在内存中,数据通过网络传输。 Hadoop:离线计算,处理的数据保存在hdfs上,数据保存在磁盘中。 Storm集群图解 Storm编程框架 三、编程框架 open -->>Spout-->>nextTuple—>—prepare-->>Bolt-->>execute——prepare………… 由统计单词计数想到的:对于计数,多一个Bolt来处理(word,1),简便了计数的逻辑复杂性。 ①Spout:继承BaseRichSpout open():确定输出集合; SpoutOutputCollector的对象 nextTuple():确定发射内容; declareOutputFields():声明输出类型 ②Bolt:继承BaseRichBolt prepare():确定输出集合对象;

kafka连接storm问题

£可爱£侵袭症+ 提交于 2019-12-06 06:59:54
遇到缺少jar包的报错,参考 https://www.jianshu.com/p/70c3a7f56386 参考上面的链接把jar包都放到storm/lib目录下后,使用localCluster的方法提交的topology成功运行 但是使用StormSubmitter提交的topology接收不到kafka发送的消息 web报错如下:拒绝连接 启动后报错类似 kill: 向 5432 发送信号失败: 没有那个进程 原因:只有主机器上的storm的lib下上传了需要的jar包,从机器上的storm没有上传jar包 来源: https://www.cnblogs.com/shiwaitaoyuan/p/11967665.html

storm翻译(2):Concepts

◇◆丶佛笑我妖孽 提交于 2019-12-05 13:40:29
Concepts :概念 原文: http://storm.apache.org/documentation/Concepts.html 这个列表展示了 storm 中的主要概念和相关详细信息。这些概念是: Topologies Streams Spouts Bolts Stream groupings Reliability Tasks Works Topologies 实时处理逻辑被包含在一个 storm topology 中。一个 storm topology 与 MapReduce job 相似。其中一个关键不同是 MapReduce job 最终会停止,但是 topology 会一直运行(除非你 kill 它)。一个 topology 是一系列通过数据流连接起来的 spout 和 bolt 。下面将描述这些概念。 更多资源: TopologyBuilder :在 Java 程序中,使用这个类构建 topology Running topologies on a production cluster (在集群上运行 topology ) Local mode :如何在本地开发和调试 topology Streams Stream 是 storm 的核心抽象。 Stream 是通过分布式方式平行创造出的一个无限制的 tuples 队列。 Stream 要为 tuples 中的