Storm系统高可用性HA表现
关于Storm的高可用,有以下几个方面:
(1)数据利用阶段可以通过ACK机制保证数据被处理;
(2)在进程级别,worker失效,supervisor会自动重启worker线程;
(3)在组件级别,supervisor节点失效,会在其他节点重启该supervisor任务;
但是一个很大的问题,nimbus节点失效怎么办?
Supervisor进程和Nimbus进程,需要用Daemon程序如monit来启动,失效时自动重新启动。
因为它们在进程内都不保存状态,状态都保存在本地文件和ZooKeeper,因此进程可以随便杀。
如果Nimbus进程所在的机器都直接倒了,需要在其他机器上重新启动,Storm目前没有自建支持,需要自己写脚本实现。
即使Nimbus进程不在了,也只是不能部署新任务,有节点失效时不能重新分配而已,不影响已有的线程。
同样,如果Supervisor进程失效,不影响已存在的Worker进程。
Zookeeper本身已经是按至少三台部署的HA架构了。
目前storm是不支持nimbus高可用的。关于nimbus的重要性,在拓扑任务开始阶段,负责将任务提交到集群,后期负责拓扑任务的管理,比如任务查看,终止等操作。在通常情况下,nimbus的任务压力并不会很大,在自然情况下不会出现宕机的情况,但在自然因素下nimbus宕机,这种情况下怎么保证高可用?
虽然nimbus重启,对任务并没有影响。
目前storm官方或许是出于nimbus宕机对集群影响不大的考虑,并没有在这方面有所进展。
但还是有人在这方面进行了尝试,可以参考一下这个GitHub项目。
推荐链接:
1、Fault Tolerance —— Storm的故障容错性
—— 本文讲解了Storm故障容忍性(Fault-Tolerance)的设计细节:当Worker、节点、Nimbus或者Supervisor出现故障时是如何实现故障容忍性,以及Nimbus是否存在单点故障问题。
2、storm源码之一个class解决nimbus单点问题【转】
本文导读:
1 storm nimbus 单节点问题概述
storm与解决nimbus单点相关的概念
nimbus目前无法做到多节点的原因
解决nimbus单点问题的关键
业界对nimbus单点问题的努力
nimbus单点问题的解决思路
NimbusCloudStorage的实现
总结:
Storm系统高可用性HA表现的更多相关文章
- 集群(cluster)和高可用性(HA)的概念
1.1 什么是集群 简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点(node).一个理想的集群是,用户从来不会意识到集群系统 ...
- Citrix 服务器虚拟化之十 Xenserver高可用性HA
Citrix 服务器虚拟化之十 Xenserver高可用性HA HA是一套全自动功能设计,规划.它可以安全地恢复出现问题的XenServe 主机.例如物理破坏网络或主机的硬件故障,HA可确保无需任何人 ...
- storm系统架构学习
Storm架构如下图所示: 1.主控节点(Master Node) 运行Storm nimbus后台服务的节点(Nimbus),它是storm系统的中心,负责接收用户提交的作业(如同spark sub ...
- 架构之高可用性(HA)集群(Keepalived)
Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭 ...
- 高可用性(HA) 4 - network bonding
我们都知道,hadoop namenode是一个臭名昭著的单点故障点(SPOF). 当你找到一篇High Availability的文章, 以为使用heartbeat/pacemaker, coro ...
- Storm系统架构以及代码结构学习
转自:http://blog.csdn.net/androidlushangderen/article/details/45955833 storm学习系列:http://blog.csdn.net/ ...
- Java学习之系统高可用性渲染接口日志自动服务降级
背景:公司都追求系统的高可用性,这里不可用时间就是其中很重要的一个指标,为此在做系统功能升级迭代的过程中如何快速处理异常恢复正常功能极为重要.现在对新增模块的要求是都增加开关,方便快速关闭异常模块,但 ...
- Linux系统构架 - HA集群配置
一.安装 HA 即(high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 ...
- Twitter的流处理器系统Heron——升级的storm,可以利用mesos来进行资源调度
2011年,Twitter发布了开源的分布式流计算系统Storm.四年后,随着用户数量的急剧增加,Twitter每天要处理的事件已经增加到十亿以上.Storm系统应对如此庞大而复杂多样的流数据变得十分 ...
随机推荐
- Struts2拦截器之DefaultWorkflowInterceptor
一.DefaultWorkflowInterceptor是什么 首先说这东西是干嘛来的,在action中可以对传进来的数据进行验证,方法是实现Validateable接口的validate():voi ...
- 三、jQuery--jQuery基础--jQuery基础课程--第4章 jQuery表单选择器
1.:input表单选择器 如何获取表单全部元素?:input表单选择器可以实现,它的功能是返回全部的表单元素,不仅包括所有<input>标记的表单元素,而且还包括<textarea ...
- C# SMTP邮件发送 分类: C# 2014-07-13 19:10 334人阅读 评论(1) 收藏
邮件发送在网站应用程序中经常会用到,包括您现在看到的博客,在添加评论后,系统会自动发送邮件通知到我邮箱的,把系统发送邮件的功能整理了下,做了一个客户端Demo,希望对有需要的童鞋有所帮助: 核心代码: ...
- python解析RSS(feedparser)
虽然说当今的博客已经不像前几年那么火了,但是RSS还是一项很有创造性和实用性的东西.RSS 是用于分发 Web 站点上的内容的摘要的一种简单的 XML 格式.它能够用于共享各种各样的信息.关于RSS的 ...
- ubuntu中禁用华硕S550C触摸屏的方法
华硕S550C的触摸屏被我一不小心弄了一条裂缝,导致屏幕一直会莫名其妙自动进行点击,严重影响了使用.在windows 系统下通过FN+F7的快捷键可以直接禁用触摸屏,但是换成ubuntu 系统之后,快 ...
- UVA136 求第1500个丑数
枚举大范围数据..暴力检查题目条件 #include <iostream> #include <cstdio> #include <vector> #include ...
- mysql注入研究
网址: http://www.jb51.net/article/14446.htm http://www.jb51.net/article/29445.htm
- [导入]Eclipse 导入/编译 Hadoop 源码
http://www.cnblogs.com/errorx/p/3779578.html 1.准备工作 jdk: eclipse: Maven: libprotoc :https://develope ...
- JAVA Day6
1.对象:用来描述客观事物的一个实体,由一组属性和方法组成 2.属性--对象具有的各种特征 *每个对象的每个属性都拥有特定值 *例如:张浩和李明的年龄.姓名不一样 3.方法--对象执行的操 ...
- Liferay 6.2 改造系列之一:源码编译和服务启动
一.导入源码 源码可以从Liferay的官方网站上下载.http://www.liferay.com/downloads/liferay-portal/available-releases 下载后解压 ...