Hypertable中Hyperspace的Failover
2014-02-21 17:30
295 查看
Hypertable自从0.9.7.0版本之后,除了Hyperspace之外的另外两个角色(Master和RangeServer)都实现了自动的Failover,也就是说Hyperspace必须手动实现Failover。
因为Hyperspace是基于Paxos算法实现,该算法要求节点数目为奇数,所以可以准备3台机器用作Hyperspace。我测试时发现如果是2台的话,Hyperspace服务不能正常启动。
3台Hyperspace启动后,一个将作为Hyperspace.Master,另外两个作为Hyperspace.Slave,并且3台之间会同步数据和状态。万一有一台Hyperspace挂掉,可以分为以下几种情况处理:
1. 如果Hyperspace.Master挂掉,则Hyperspace.Slave也都会跟着挂掉,此时只能重启Hypertable了。如果万一Hyperspace.Master机器都不能启动,请将Capfile和hypertable.cfg中的Hyperspace改为两台Hyperspace.Slave中的任意一台,重启Hypertable即可;
2. 如果Hyperspace.Slave挂掉,除了Hyperspace日志中会报一些错误之外,集群的运行不会受到影响。此时重现启动挂掉机器的Hyperspace服务即可将其重新加入集群。
如果Hyperspace节点数目多于3个,以上两点仍然适用。不过请注意一点:4台Hyperspace节点是能正常启动的,也就是说多于3台的偶数台应该都是能正常启动的,不过不建议采用偶数台。
还要说明一点:可以追加新的Hyperspace节点,但是必须要重启集群。如果你的Hypertable只有一台Hyperspace,为了实现Failover,请赶快追加机器吧。
因为Hyperspace是基于Paxos算法实现,该算法要求节点数目为奇数,所以可以准备3台机器用作Hyperspace。我测试时发现如果是2台的话,Hyperspace服务不能正常启动。
3台Hyperspace启动后,一个将作为Hyperspace.Master,另外两个作为Hyperspace.Slave,并且3台之间会同步数据和状态。万一有一台Hyperspace挂掉,可以分为以下几种情况处理:
1. 如果Hyperspace.Master挂掉,则Hyperspace.Slave也都会跟着挂掉,此时只能重启Hypertable了。如果万一Hyperspace.Master机器都不能启动,请将Capfile和hypertable.cfg中的Hyperspace改为两台Hyperspace.Slave中的任意一台,重启Hypertable即可;
2. 如果Hyperspace.Slave挂掉,除了Hyperspace日志中会报一些错误之外,集群的运行不会受到影响。此时重现启动挂掉机器的Hyperspace服务即可将其重新加入集群。
如果Hyperspace节点数目多于3个,以上两点仍然适用。不过请注意一点:4台Hyperspace节点是能正常启动的,也就是说多于3台的偶数台应该都是能正常启动的,不过不建议采用偶数台。
还要说明一点:可以追加新的Hyperspace节点,但是必须要重启集群。如果你的Hypertable只有一台Hyperspace,为了实现Failover,请赶快追加机器吧。
相关文章推荐
- Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
- 添加第三方类库造成的linker command failed with exit code 1 (use -v to see invocation)的错误调试
- 在 FlashDevelop 的移动项目 (Adobe AIR) 中使用 ane
- 根据给出的基类Animal和main()函数。
- GTK+2.0-----容器构件GtkContainer
- http://pan.baidu.com/s/1EHK5u#dir
- 等到花儿也谢了的await
- Megacli查看raid磁盘信息
- 改主机名后启weblogic失败,Could not obtain the localhost address. The most likely cause is an error in the ne
- 本地生成Rails API文档
- aio
- ibaits防止注入
- 转: AlphaImageLoader简介
- DBA亲,你们的RAID5阵列有保障吗?
- DBA亲,你们的RAID5阵列有保障吗?
- Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-6.xml
- 最简实例说明wait、notify、notifyAll的使用方法
- container_of通过结构中的某个变量获取结构本身的指针
- gmail 安装outlook
- Backups stored in the fast recovery area cannot be marked as unavailable.