问题标签 [mysql-cluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1323 浏览

mysql - MySQL 集群:表已满

我对 MySQL Cluster 有所了解。

我有一张桌子

  • 共 38 个字段
  • 22个字段被描述为22个索引(字段类型:int)
  • 其他字段 double 和 bigint 值
  • 该表没有定义主键

我的环境(10 个节点)

  • 数据节点:8 个(AWS EC2 实例,m4.xlarge 16GB RAM,750GB HDD)
  • 管理节点:2(AWS EC2 实例,m4.2xlarge 32GB RAM)
  • sql节点:2(与管理节点相同的VM)

MySQL 集群设置 (config.ini) 设置为

将75M记录导入我的表后,我收到错误(表 'test_table' 已满)并且无法再将数据导入表。我不明白为什么会这样。

我查看 information_scheme 可以看到avg_record_size244。全表大小为:~19G

此外,如果我查看每个数据节点上使用的 DataMemory,我会看到:~94%。使用的索引内存为:~22%

但我有 8 个数据节点,DataMemory 总计 *8*9970M = 80GB*

我的表只有 19GB。所以即使我有复制品。使用的内存为:19*2=38GB。

有人可以解释一下是什么情况。以及如何配置集群并导入最大可能的记录。生产中的完整表将有:330 亿条记录。

对于给定集群上的测试,我需要测试100M1B数据集。

谢谢。

0 投票
1 回答
1443 浏览

centos7 - 无法启动 mysql 集群 SQL 节点

为了测试,我想创建自己的 MySQL 集群。我有两台机器,第一台包含管理节点、ndbd 节点和 SQL 节点,第二台配置为 ndbd 节点。我安装了一个centos(最小版本)并尝试使用 MySQL-Cluster-server-gpl-7.5.0-1.el7.x86_64.rpm 安装集群。

安装完成后,我在第一台机器上启动了ndb_mgmd,ndbd,在第二台机器上成功启动了ndbd,最后我尝试启动没有启动的mysqld_safe。在我开始之前,我的集群配置如下:

我使用以下命令启动 mysqld:

我在 localdomain.err 中的输出结果如下:

我做错了什么,如何启动 mysqld 服务?

0 投票
1 回答
60 浏览

mysql - 我可以从集群中的多个 mysql 服务器更新、插入和删除记录吗

我可以从 mysql 集群中的多个 mysql 节点更新、插入和删除吗?

0 投票
2 回答
322 浏览

mysql - 有没有可能,用mysql去中心化解决方案

是否有可能是分散的mysql解决方案。一台 mysql 服务器中的更新必须反映在所有其他区域。同样,其他区域更改应与重新管理区域同步。

0 投票
1 回答
241 浏览

c++ - MySQL NDB API AccessViolationException

我面临一个仅在 Windows 上发生的有趣问题,而在 Linux/Mono 上一切正常。我围绕 MySQL Cluster NDB API 库构建了一个 C++ 包装器,我通过 P/Invoke 从 C# 代码调用该库。到目前为止,我有三种方法:

  1. init()它初始化环境并返回一个句柄
  2. read()它使用句柄从数据库中读取数据
  3. release()释放资源

init()在每个设置中都可以正常工作。但是,read()throws AccessViolationException,但仅在 Windows 上,并且仅在init()一个线程和另一个线程中调用when 的情况下read()。如果我们在一个线程中做所有事情,它就可以工作!任何关于可能原因的想法将不胜感激。

2016 年 12 月 4日更新init()-在一个线程和另一个线程中调用的简单 C++ 测试程序中发现了相同的行为read()。因此,该错误与 C#/C++ 互操作无关,它是 NDB API 库中的内容,可以在此处下载(lib文件夹mysqlclient.libndbclient_static.lib)。

C#代码:

C++ 代码:(基于官方文档中的示例):

0 投票
0 回答
91 浏览

openfire - 如何配置openfire连接mysql集群

我希望我的 Openfire 服务器具有高可用性的数据库。因此,我已经成功创建了一个 mysql 集群。但我无法将 Openfire 配置为使用该 mysql 集群。我已经对其进行了搜索,但除了使用以下连接字符串外找不到太多内容: "jdbc:mysql:loadbalance://" + hosts + "/test"。但这似乎不起作用。请帮我配置我的 Openfire 服务器以使用 mysql 集群。任何形式的帮助或建议将不胜感激。提前致谢。

0 投票
1 回答
545 浏览

java - MySQL Cluster ERROR 失败,查询时出现错误'Got error 240'Unknown error code' from NDBCLUSTER'

在我们的一个环境中,mysql 复制间歇性地失败。下面是相关的mysql服务器日志。

Oracle 支持建议此错误代码与 Forgein Key 相关,因此我们可以隔离一些在特定故障时间发生的查询。

下面是最后一个 sql 成功插入主节点但未能复制到从节点。

与 child_batch 和 main_batch 表相关的有趣的事情是,两者都以 ID 作为主键,一个是 FK,另一个是 FK(InheritanceType.JOINED)。

在 JPA 中,它被设计为 InheritanceType.JOINED。

  • Mysql 版本:NDB 7.3.3 集群
  • OpenJPA:2.2.2
  • 爪哇:1.7.0_79

由于 Mysql 支持说这与外键有关,我怀疑 main_batch 和 child_batch 中的插入顺序在这里很重要。因为 child_batch.id 是 main_batch.id 的 FK。所以 main_batch 记录应该在插入 child_batch 记录之前首先可用。

如果有人有任何建议或想法,将不胜感激。提前致谢。

0 投票
0 回答
184 浏览

mysql - 无法正确安装 MySQL 集群

所以,我正在尝试安装具有 6 个数据节点(所有 CentOS 7.0 核心安装)、2 个 SQL 节点(所有 CentOS 7.0 核心安装)和一个管理节点(CentOS 7.0 核心安装)的 MySQL 集群。在所有服务器上,我在下载 RPM 包后运行了以下命令

所有这些命令都成功运行,没有错误或警告。

我的下一步是使用 mysql_secure_installation 配置我的 SQL 节点,但是当我运行命令时,我收到以下错误消息

我尝试了不同的方法,查看了整个谷歌,我找不到解决这个问题的方法,有没有人遇到过这个问题?

0 投票
1 回答
758 浏览

mysql-cluster - 如何为 mysqlcluster 创建休眠配置文件?

需要 mysql 集群的 Hibernate 配置 (hibernate.cfg.xml) 文件。

[休眠] 自动生成 POJO 类和 *.hbm.xml 文件。

我可以使用以下配置访问 Mysql 数据库。

而且我还能够 使用简单的 JDBC 连接访问MYSQL NDB Cluster数据库。

问题是当我使用MYSQL NDB Cluster数据库凭据时,我无法使用 Hibernate 访问数据库。

请使用 Hibernate 配置文件 (hibernate.cfg.xml)为 Connect MYSQL NDB Cluster数据库建议任何其他配置。

我认为解决方案是MySQL NDB 聚集表类型需要新的方言。否则配置文件中的任何更改

0 投票
1 回答
251 浏览

java - Mysql集群安装中缺少ndbclient本机库

尝试运行基于 ClusterJ 的 Java 应用程序时出现以下错误:

在 Windows 下的 MySql Cluster 7.4 安装中,我在 lib 目录中有 ndbclient_static.lib 文件。Java 无法按照 MySql 手册中的表述方式读取 lib 文件。据我了解,我应该在那里有 ndbclient.dll 但它不见了。如何继续让 ClusterJ 工作?