#分布式高可用部署

YashanDB分布式集群的高可用部署采用yasboot运维工具一键式完成,包括:

  • CN多活部署:多个CN节点,每个CN节点相互独立,支持负载均衡,无自动选主
  • MN主备部署:1个主节点 + 多个备节点,可配置自动选主(至少1主2备构建Raft集群)
  • DN主备部署:
    • 1主1备:可配置基于yasom的仲裁选主
    • 1主多备:可配置自动选主(至少1主2备构建Raft集群)

Note

基于Raft选举算法规则,Raft集群节点数至少包括三个才能形成多数派,因此,如需在MN、DN组内实现Failover自动切换,组内至少需要部署一主两备。

用户需要提前对分布式集群进行规划,并体现在工具的配置文件上。

# 部署前准备

部署前准备包括安装环境准备和配置文件规划。

安装环境准备

高可用部署中的每个节点对环境的要求与非高可用部署的要求一致,具体信息参考安装前准备章节描述。

配置文件规划

在开始部署前需要完成以下规划:

  • 服务器规划
  • 安装路径规划
  • 分布式集群节点规划
  • 通信端口规划

这些规划最终体现在以下配置文件中:

# 部署分布式集群

上述配置文件内容完成后,即可通过yasboot工具部署分布式集群,该工具的详细操作指导及操作示例请参考安装部署章节描述。

在安装过程中将生成上述配置文件并提供修改,请按实际需求进行配置。

# 部署后检查

分布式集群高可用部署完成后,可执行一系列检查,保证系统稳定可用。

# 查看节点状态

通过yasboot工具查询所有节点上的YashanDB进程状态是否正常。

$ yasboot cluster status -c yashandb -d

# 查看选举状态

通过DV$ELECTION视图查询各节点的当前选举状态是否正常。

SELECT * FROM DV$ELECTION;

# 查看实例状态

通过DV$DATABASE视图查询各节点的数据库状态是否正常。

SELECT group_id,group_node_id,database_id,log_mode,open_mode,database_role,status FROM DV$DATABASE;

# 查看节点元数据状态

通过DV$NODE视图查询各节点的元数据是否正常。

SELECT TYPE,group_id,group_node_id,endpoint,ROLE,running_state,data_path FROM DV$NODE;

# 常见问题

使用yasboot工具部署出现问题时,可以首先查看安装目录下om/yasboot.log和节点数据目录下log里的start.log来定位原因。

其他常见问题可参考单机主备部署的常见问题部分描述。