#分布式高可用部署
YashanDB分布式集群的高可用部署采用yasboot运维工具一键式完成,包括:
- CN多活部署(多个CN节点,每个CN节点相互独立,支持负载均衡,无自动选举)
- MN、DN主备部署(一个主机节点+多个备机节点)
- MN、DN自动选举配置(至少一主两备构建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来定位原因。
其他常见问题可参考单机高可用部署的常见问题部分描述。