我正在尝试在两个MySQL集群之间使用单个复制通道设置复制。我已经看了mysql.com的文档几次了,但似乎不能让它正常工作。
我遇到的问题是,对未配置为主服务器的SQL节点进行的查询不会复制NDBCLUSTER表的任何INSERT、UPDATE或DELETE查询,然而,当我在作为主服务器的SQL节点上插入、更新或删除一行时,它会很好地复制到其他集群。
我知道复制是设置的,因为如果我在主集群中的任何SQL节点上运行CREATE DATABASE查询,它将很好地复制到从集群。同样,如果我在任何SQL节点上运行CREATE TABLE查询以在我的新数据库中创建NDBCLUSTER表,它也会很好地复制到从集群。
我阅读文档的方式以及我对集群复制工作的理解是,集群中可以有10个API节点,其中一个节点配置为复制并专用于复制,作为主节点。因此,如果在集群中的10个API节点中的任何一个节点上发生INSERT、UPDATE或DELETE查询,那么复制主节点和NDB binlog将拾取该查询,从而允许从节点进行复制。这似乎对我不起作用。
我的理解正确吗?
下面是我如何设置的:
所有服务器都是运行64位CentOS 6.2和MySQL Cluster 7.2.8x86_64的虚拟机。
群集1(主群集):
1 x ndb_mgmd管理节点(服务器1a-ip:10.14.64.10)
2 x mysqld API节点(服务器1b和1c-ips:10.14.64.11和10.14.64.12)
2 x ndbd数据节点(服务器1d和1e-ips:10.14.64.13和10.14.64.14)
群集2(从群集):
1 x ndb_mgmd管理节点(服务器2a-ip:10.13.64.10)
2 x mysqld API节点(服务器2B和2C-ips:10.13.64.11和10.13.64.12)
2 x ndbd数据节点(服务器2D和2E-ips:10.13.64.13和10.13.64.14)
这里有一张漂亮的图片来帮助解释:
(必须包含一个链接,因为这是我的第一篇文章)
http://cpjon.es/wp-content/uploads/2013/01/mysql-cluster-replication.png
我设置了复制,以便服务器1C是复制主服务器,服务器2C是复制从服务器。
下面是服务器1C(作为主服务器)的/etc/my.cnf文件:
[mysqld]
ndbcluster
ndb-connectstring=10.14.64.10
log-bin
binlog-format=ROW
server-id=10
[mysql_cluster]
ndb-connectstring=10.14.64.10
以下是服务器2C(作为从机)的/etc/my.cnf文件:
[mysqld]
ndbcluster
ndb-connectstring=10.13.64.10
server-id=11
[mysql_cluster]
ndb-connectstring=10.13.64.10
当我运行查询时,创建数据库test_db1;在SQL Server1B或1C上,它会立即复制到集群2,我可以在SQL Server2B和2C上看到数据库test_db1。
当我运行以下CREATE TABLE查询时:
CREATE TABLE `City` (
`ID` int(11) NOT NULL auto_increment,
`Name` char(35) NOT NULL default '',
`CountryCode` char(3) NOT NULL default '',
`District` char(20) NOT NULL default '',
`Population` int(11) NOT NULL default '0',
PRIMARY KEY (`ID`)
) ENGINE=NDBCLUSTER DEFAULT CHARSET=latin1;
在SQL Server1B或1C上,它会立即复制到集群2,并且我可以在SQL Server2B和2C上看到我新创建的表城市。
但是,问题就在这里--当我在服务器1B上运行以下查询时:
INSERT INTO City VALUES (1,'Melbourne','AUS','Victoria',4100000);
我可以看到集群1中所有SQL节点(即服务器1b和1c)上的条目,但看不到集群2中任何SQL节点(即服务器2b和2c)上的条目。
如果我在服务器1c上运行类似的查询:
INSERT INTO City VALUES (2,'Sydney','AUS','New South Wales',4600000);
我可以在集群1和集群2中的所有SQL节点上看到条目--所以在所有四个SQL节点上--这是我所期望的。
我一定是错过了一些很简单的东西。我已经尝试了关闭这些服务器,并重新启动了很多次--似乎无法得到任何插入,更新或删除查询的服务器1B到我的次要集群。
如果有任何指示或帮助,我们将非常感激(对于冗长的帖子,我很抱歉)
问候你,
克里斯。
问题内容: 在启动时,我正在为我们的数据库考虑扩展解决方案。MySQL至少使我感到困惑(至少对我而言),MySQL具有MySQL群集,复制和MySQL群集复制(来自5.1.6版),它是MySQL群集的异步版本。MySQL手册解释了其集群FAQ中的一些差异,但是很难确定何时使用它们中的一个。 我将不胜感激那些熟悉这些解决方案之间的区别以及优点和缺点以及何时建议使用每种解决方案的人的任何建议。 问题答
我的Spring应用程序由十几个微服务组成。每个微服务都提供数据,这些数据并不经常变化。为了减少微服务之间的通信,我正在考虑开始使用Hazelcast。 我的想法是每个微服务都嵌入了Hazelcast。微服务在同一个网络中运行,我认为Hazelcasts将形成一个集群。每个微服务都会在启动时将其数据放入本地Hazelcast中,并将数据复制到集群中的每个其他Hazelcast中。当一个微服务需要从
我有Hadoop3.0集群(为了学习目的),1个name-node和3个slave。在每个节点上,hdfs-site.xml如下所示: 在此输入图像说明
本文档介绍了如何配置生产可用的 TiDB 集群。涵盖以下内容: 资源配置 部署前需要根据实际情况和需求,为 TiDB 集群各个组件配置资源,其中 PD、TiKV、TiDB 是 TiDB 集群的核心服务组件,在生产环境下它们的资源配置还需要按组件要求指定,具体参考:资源配置推荐。 为了保证 TiDB 集群的组件在 Kubernetes 中合理的调度和稳定的运行,建议为其设置 Guaranteed 级
3.3 配置Nginx集群 本节介绍如何配置Nginx服务器集群。 同一个Nginx服务器集群下的多台Nginx服务器,配置文件都是完全一致的。多个站点对应一个Nginx服务器集群,建议按照站点流量进行划分,让多个Nginx集群的流量尽量均匀。 请确保添加的Nginx服务器,已经安装好并正在运行Dengine及camel-agent。 1.点击引导页面的“点击新增Nginx集群”按钮 2.在对话框
问题内容: 我正在本地计算机上的Tomcat 7上设置群集/复制,以评估它是否可与我的环境/代码库一起使用。 建立 我在不同端口上运行的同级目录中有两个相同的tomcat服务器。我已经在其他两个端口上监听了httpd,并作为VirtualHosts连接到了两个tomcat实例。我可以在配置的端口上访问两种环境并与之交互。一切都按预期进行。 Tomcat服务器在server.xml中启用了集群功能: