#分布式高可用部署
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来定位原因。
其他常见问题可参考单机主备部署的常见问题部分描述。