您的位置:首页 > 大数据 > 人工智能

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,请赶快追加机器吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: