数据库同步工具
sqlserver,Mysql数据同步软件

docker-compose部署MongoDB&MySQL&RabbitMQ集群

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

在以下三个节点上部署MongoDB 1主2从副本集,RabbitMQ主-主,MySQL主-从复制在三个节点上:172.29.154.8、172.29.194.9、172.29.154.10。这些节点位于同一Intranet环境中,并且这些节点彼此通信。下表显示了每个节点部署的服务器关系。其中,MySQL的主节点是172.29.154.9,与其他服务相反。单节点压力。

本文使用docker-compose来同时启动多个服务。如果仅需要部署一项服务,则docker-compose.yml将在以下文本中删除其他服务,然后仅引用该服务的相关配置。

<表格>

节点

MongoDB

RabbitMQ

MySQL

<身体>

172.29.154.8

大师

大师

来自

172.29.154.9

来自

大师

大师

172.29.154.10

来自

/

/

  • 图片下载
  • 编写docker-compose.yml文件
    • 节点172.29.154.8
    • 节点172.29.154.9
    • 节点172.29.154.10
  • 配置文件
    • MongoDB复制集密钥文件
      • 生成密钥文件
    • Mysql配置my.cnf
      • 主节点
      • 从节点
  • 启动每个节点
  • 群集配置
    • RabbitMQ
    • MongoDB
      • 创建副本集
      • 主从读写分离
    • Mysql
      • 主节点
        • 登录
        • mysql终端命令
      • 从节点
        • 登录
        • mysql终端命令
      • 解决错误
  • 参考链接

本文中的服务使用最新版本的docker库,并且在下载镜像时使用以下命令:

 

由于一次要部署许多服务器,因此使用docker run进行保存并不容易,因此本文使用docker-compose部署服务器。每个节点的文件如下。

 

 

 

在上面的docker-compose.yml中使用了Mongodb和Mysql。

  • 密钥文件是在多个主机上部署MongoDB副本集所必需的文件
  • my.cnf定义Mysql的主从复制配置。

副本集必须确保每个节点的密钥文件是一致的,否则将存在从属节点被卡在” STARTUP”状态的情况,即无法加载副本集配置。将密钥文件放置在指定的目录中(本文的安装配置已在其中),因此应将其放置在该目录中。

运行以下命令以生成密钥文件。

 

然后,通过xftp将生成的文件传输到其他主机,以确保节点的密钥文件是一致的。传输完成后,您需要确认文件权限是否一致,否则将显示:使用docker ps命令查看时,容器已处于重启状态。

这篇关于mysql配置和主从节点构造的参考博客:mysql组复制安装\配置的详细说明

Mysql的主节点是172.29.154.9,从节点172.29.154.10,将以下配置文件放在指定目录中,本文的安装配置为,因此目录为:

 

 

在每个节点docker-compose.yml所在的目录下运行,运行

以上只是启动每个节点,尚未形成集群。

RabbitMQ部署了高度可用的master-master模式。两个节点都可以读取和写入。当一个节点发生故障时,另一节点负责读取和写入。

1,erlang cookie

RabbitMQ集群中每个节点的身份验证由erlang cookie来判断。在docker-compose.yml文件中,我们通过设置环境变量将它们设置为一致。 因此,此步骤不需要其他设置。

2.在节点172.29.154.9(部署Rabbit2的节点)上执行以下脚本

 

根据设置的密钥文件启动后,请遵循以下命令将每个节点添加到副本集。

 

默认情况下,SECONDARY节点不可读。如果需要启用它,请从节点的mongo命令行

登录

 

分别登录docker mysql的shell。然后复制mysql terminal命令并执行它。

登录

 

mysql终端命令

终端执行以下命令来创建组。

 

登录

 

mysql终端命令

终端执行以下命令以将从属节点加入该组。

 

执行上述从属节点的最后一步后,发生以下错误:

 

通过查看错误日志,开始新的xshell连接(不要退出上一个mysql终端会话,并遵循命令执行),如下所示:

 

根据错误提示,在从属节点的mysql终端中继续执行以下命令:

 

继续执行命令以加入从属节点上的组,成功。

 

最后,验证集群的状态。两个节点都处于状态,表示启动成功。

 

mysql组复制的详细安装\配置

未经允许不得转载:数据库同步软件|Mysql数据同步软件|sqlserver数据库同步工具|异构同步 » docker-compose部署MongoDB&MySQL&RabbitMQ集群

分享到:更多 ()

syncnavigator 8.6.2 企业版

联系我们联系我们