【原】Storm 守护线程容错机制
Storm入门教程
1. Storm基础
Storm
Storm主要特点
Storm基本概念
Storm调度器
Storm配置
Guaranteeing Message Processing(消息处理保障机制)
Daemon Fault Tolerance(守护线程容错机制)
当worker死掉时会发生什么?
当node死掉时会发生什么?
当Nimbus或者Supervisor daemons死掉时会发生什么?
Nimbus是否会出现单独失败的状况?
Storm怎样保证数据处理?
理解Storm拓扑的并行
Tutorial
Local模式
在生产环境中运行Topologies
Daemon Fault Tolerance(守护线程容错机制)
Storm有不同的守护进程。Nimbus负责调度wokers,supervisors负责创建和销毁workers。这些信息可以在日志中或Storm UI中看到。
当worker死掉时会发生什么?
当worker死掉时,supervisor将重启它。如果worker启动总是失败且不能正常发送心跳消息给Nimbus,那Nimbus就会重新调度worker。
当node死掉时会发生什么?
如果节点发生故障,导致分配到某个节点的所有tasks执行都会超时,那Nimbus会将这些tasks重新分配到另外的节点上。
当Nimbus或者Supervisor daemons死掉时会发生什么?
Nimbus和Supervisor daemons都是设计为快速失败的(任何意外状况发生时都可能导致进程自身崩溃)以及无状态的(所有的状态都是保存在Zookeeper或者Disk上)。就像Storm集群的配置描述的一样, Nimbus和Supervisor daemons必须运行在监控之下,这个监控是使用诸如daemontools或者monit等工具实现的。因此,如果Nimbus或者Supervisor死掉的话,它们会像什么都没发生一样再次重启。
最需要指出的是, 没有worker进程会受到Nimbus或者Supervisors死掉的影响。而相比之下,对Hadoop来说, 如果JobTracker死掉的话, 所有运行的jobs信息都会丢失。
Nimbus是否会出现单独失败的状况?
如果Nimbus 节点死掉的话, worker依然会运行下去。另外, supervisors在它们死掉时依然会重启。尽管如此,没有Nimbus,worker 在需要时(比如worker所在机器宕机时)不会重新分配到其他机器上。
Storm的Nimbus从1.0.0开始已实现HA机制。详情看Nimbus HA Design。
Storm怎样保证数据处理?
Storm提供保证数据处理的机制,即使节点死掉或者丢失消息时也可以保证。更多细节可以查看保证消息处理机制 。
【原】Storm 守护线程容错机制的更多相关文章
- 【Storm篇】--Storm 容错机制
一.前述 Storm容错机制相比其他的大数据组件做的非常不错. 二.具体原因 结合Storm集群架构图: 我们的程序提交流程如下: 其中各个组件的作用如下: Nimbus资源调度任务分配接收jar ...
- Storm学习笔记 - 消息容错机制
Storm学习笔记 - 消息容错机制 文章来自「随笔」 http://jsynk.cn/blog/articles/153.html 1. Storm消息容错机制概念 一个提供了可靠的处理机制的spo ...
- Storm消息容错机制(ack-fail机制)
storm消息容错机制(ack-fail) 1.介绍 在storm中,可靠的信息处理机制是从spout开始的. 一个提供了可靠的处理机制的spout需要记录他发射出去的tuple,当下游bolt处理t ...
- 子进程回收资源两种方式,僵尸进程与孤儿进程,守护进程,进程间数据隔离,进程互斥锁,队列,IPC机制,线程,守护线程,线程池,回调函数add_done_callback,TCP服务端实现并发
子进程回收资源两种方式 - 1) join让主进程等待子进程结束,并回收子进程资源,主进程再结束并回收资源. - 2) 主进程 “正常结束” ,子进程与主进程一并被回收资源. from multipr ...
- 从头认识java-18.2 主要的线程机制(5)-守护线程与非守护线程
这一章节我们来讨论一下守护线程与非守护线程. 1.什么是守护线程?什么是非守护线程? 非守护线程:Java虚拟机在它全部非守护线程已经离开后自己主动离开. 守护线程:守护线程则是用来服务用户线程的,假 ...
- java线程 - 多线程 - 守护线程
1.多线程执行者/处理类 都是Runnable的实现类(如自定义类实现Runnable 或 java原生的Thread.FutureTask),但最后都必须封装成Thread线程类由Thread.st ...
- java的守护线程与非守护线程
最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) ,(PS:以 ...
- Java中的守护线程和非守护线程(转载)
<什么是守护线程,什么是非守护线程> Java有两种Thread:"守护线程Daemon"(守护线程)与"用户线程User"(非守护线程). 用户线 ...
- java------守护线程与非守护线程
最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) ,(PS:以 ...
随机推荐
- 实时数据处理环境搭建flume+kafka+storm:4.storm安装配置
1.解压 apache-storm-0.9.3.tar.gz 2.修改配置文件 conf/storm.yaml --zk地址 storm.zookeeper.servers: - " ...
- nginx配置location [=|~|~*|^~] /uri/ { … }用法
版权声明:https://github.com/wusuopubupt ====== nginx location语法 基本语法:location [=|~|~*|^~] /uri/ { … } = ...
- PAT-乙级-1038. 统计同成绩学生(20)
1038. 统计同成绩学生(20) 时间限制 250 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求读入N名学生的成绩,将 ...
- JavaScript 踩坑心得— 为了高速(下)
一.前言 本文的上一篇 JavaScript 踩坑心得- 为了高速(上) 主要和大家分享的是 JavaScript 使用过程中的基本原则以及编写过程中的心得分享,本文主要和大家聊聊在各个使用场景下的 ...
- Android GridView、ListView、ScrollView上下拉刷新
实现方法是将显示的内容最外层的ViewGroup做成一个LinearLayout,并扩展它,使其可以上下拖动. 重点是实现View的onTouch方法. 下载:http://files.cnblogs ...
- Android ListView相关 头和尾 headView footerView
ListView还可以添加头和尾部,而这头和尾就是View对象, 可以使用listView.addHeadView(view)方法和listView.addFootView(view)方法分别添加头和 ...
- Git管理unity3d项目
如果小组中没有足够的专业版license,用不了unity3d自带的version control,可以使用git来对项目进行版本控制:只不过需要建一个.gitignore文件在git项目管理的根目录 ...
- Android的Handler几种常见的传值方式
public class handlerThread2 extends Activity { @Override protected void onCreate(Bundle savedInstanc ...
- MySQL数据库服务器安装标准
MySQL数据库服务器安装标准 (1).BIOS优化,阵列配置 1.1:关闭CPU节能,因为服务器品牌众多,BIOS设置不相同,主要是关闭CPU节能,如C1,DELLR730,已经智能设置,直接有个p ...
- 微信5.4 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8" ?> - <manifest android:versionCode ...