文档章节

Storm 【最新版 0.9.3】-官方翻译 1: Fault-tolerance

止静
 止静
发布于 2014/10/31 09:23
字数 920
阅读 413
收藏 1

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

This page explains the design details of Storm that make it a fault-tolerant system.

在本页,我们将了解使Storm成为一个容错性系统的设计细节

What happens when a worker dies?

如果worker死掉以后会发生什么?


When a worker dies, the supervisor will restart it. If it continuously fails on startup and is unable 

每当一个Worker死掉了,那么supervisor将会重启它,如果是在启动的过程之中一直失败,那么它就会丢失掉

to heartbeat to Nimbus, Nimbus will reassign the worker to another machine.

河Numbus的连接,Nimbus将会重新分配一个Worker给其他的机器


What happens when a node dies?

  当一个节点挂掉的时候

The tasks assigned to that machine will time-out and Nimbus will reassign those tasks to other machines.

 一旦一个节点挂掉的时候,分配到这个机器之上的的task任务就会出现超时,并且Numbus会重新分配这些人物到其他的机器


What happens when Nimbus or Supervisor daemons die?

当Nimbus 或者Supervisor的后台线程会挂掉


Numbus和Supervisor的后台线程被设计于 fail-fast机制,以及无状态机制(实时上,我们的状态是保持在Zookeeper之中的),Numbus 和Supervisor的daemons 一定要运通过一定的工具,好比  daemontools 或则是 monit,于是,如果Nimbus 或则Supervisor daemons死掉了,那么就会像没发生一样的去重启。

The Nimbus and Supervisor daemons are designed to be fail-fast (process self-destructs whenever any unexpected situation is encountered) and stateless (all state is kept in Zookeeper or on disk). As described in Setting up a Storm cluster, the Nimbus and Supervisor daemons must be run under supervision using a tool like daemontools or monit. So if the Nimbus or Supervisor daemons die, they restart like nothing happened.


Most notably, no worker processes are affected by the death of Nimbus or the Supervisors. This is in contrast to Hadoop, where if the JobTracker dies, all the running jobs are lost.

更加显著的来说,通常而言,Worker的处理过程不会被Nimbus和Supervisor的死亡所影响。这一点和Hadoop系统是不一眼过得,要知道,一旦Hadoop之中的JobTracker死掉了,所有运行的作业就丢失。


Is Nimbus a single point of failure?


Nimbus是否也就是一个单带你的故障 

如果你的Numbus节点Los了,那么这Worker就会继续这些处理流程,更进一步来讲,Supervisor将继续的重启这些Workers

一旦Workers会死掉,然而,没有了Nimbus,一旦Worker工作之中有需要用到其他的计算硬件,Worker不能够被分配到其他机器。

If you lose the Nimbus node, the workers will still continue to function. Additionally, supervisors will continue to restart workers if they die. However, without Nimbus, workers won’t be reassigned to other machines when necessary (like if you lose a worker machine).


于是乎,真正的正确的答案是,Numbus本身是一系列的 SPOF(SPof 是我们的  single point of failure的缩写),实际上来讲,在Storm之中。这并不是一个相当的大的问题,在将来会有使Nimbus变得可用的可能。


So the answer is that Nimbus is “sort of” a SPOF. In practice, it’s not a big deal since nothing catastrophic happens when the Nimbus daemon dies. There are plans to make Nimbus highly available in the future.

How does Storm guarantee data processing?


Storm 对于消息的处理有保证性的机制,不管是在机器亦或者是消息丢失的情况之下。如果感兴趣的朋友,可以直接参考官方的文档,《Guaranteeing Message 》


Storm provides mechanisms to guarantee data processing even if nodes die or messages are lost. See Guaranteeing message processing for the details.




对于另外的机制,请参考本ID的另外一篇博文

 JDK【Java的一些特性】- 系列 1:  fail-fast机制    

 






© 著作权归作者所有

止静
粉丝 123
博文 134
码字总数 125762
作品 0
东城
技术主管
私信 提问
加载中

评论(0)

Extending the Yahoo! Streaming Benchmark

could accomplish with Flink back at Twitter. I had an application in mind that I knew I could make more efficient by a huge factor if I could use the stateful processing guarant......

osc_9paoqr27
2018/11/10
2
0
storm流处理的简单例子的一些问题

最近,在“getting started with storm”这本书上看到了一个比较简单的storm处理的例子,但是出了比较奇怪的问题,下面代码和输出日志。 首先是spout类。 package spouts; import java.io.B...

viking714
2016/05/09
0
0
storm入门基础实例(无可靠性保证实例)

本实例为入门篇无可靠性保证实例,关于storm的介绍,以及一些术语名词等,可以参考Storm介绍(一)、Storm介绍(二)。 本案例是基于storm0.9.3版本 1.案例结构 案例:Word Count案例 语句Spout...

osc_86eb7mly
2019/02/14
2
0
Storm学习笔记(1)Hello WordCount - 单机模式

古人云,纸上得来终觉浅,绝知此事要躬行。翻译过来,就是学东西哪有不踩坑的。 因为工作原因要折腾Storm,环境和第一个例子折腾了好久,搞完了回头看,吐血的简单。 Storm有两种模式,单机和...

osc_q4og6y57
2018/02/21
2
0
用Storm轻松实时大数据分析【翻译】

原文地址 简单易用,Storm让大数据分析变得轻而易举。 如今,公司在日常运作中经常会产生TB(terabytes)级的数据。数据来源包括从网络传感器捕获的,到Web,社交媒体,交易型业务数据,以及...

船长&CAP
2015/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何在Windows上安装pip? - How to install pip on Windows?

问题: pip is a replacement for easy_install . pip替代了easy_install 。 But should I install pip using easy_install on Windows? 但是我应该在Windows上使用easy_install安装pip吗? ......

fyin1314
今天
21
0
gitlit二级目录访问

由于我们只有一个域名暴露,特殊需求,所以需要二级目录访问 配置文件在 defaults.properties 第1985行 contextPath 改掉就好了 # Context path for the GO application. You might want to...

shzwork
今天
24
0
OSChina 周一乱弹 —— 我电脑传染了新冠脚气

@性感码农 :不结婚,被老爸说,回村里别人都瞧不起你,及即使你赚了很多钱,不结婚,永远没有人瞧得起你。挺纳闷的,要别人瞧得起我干嘛 又不回村里, 跟他们生活也没什么交集啊, 用得着他...

小小编辑
今天
18
0
类加载的过程

加载->链接->初始化; 其中链接又分为:验证->准备->解析。

曦鱼violet
今天
21
0
Linux下几个与磁盘空间和文件尺寸相关的命令

硬盘是计算机非常重要的一个部件,不管是代码,还是 UI 、声音、文档,抑或是没人时偷偷看的小视频,都需要保存在硬盘里。 对于很多 Linux 服务器,会进行很多的编译操作。而编译操作在很多情...

Linux就该这么学
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部