ndb 群集表已满

ndb 群集表已满

我正在使用 ndb cluster au 进行安装,使用 simpletest 和 high write load 选项。集群成功启动。然后我编辑create-minimal-mysql.sql文件,将其替换InnoDBNDBCLUSTER并运行它。它显示:
ERROR 1114(HY000),第 1703 行:表“UserGroup”已满。

这是我config.ini在管理节点配置目录上的文件:

#
# Configuration file for MyCluster
#

[NDB_MGMD DEFAULT]
Portnumber=1186

[NDB_MGMD]  
NodeId=49  
HostName=192.168.5.4  
DataDir=/home/admin/MySQL_Cluster/49/  
Portnumber=1186  

[TCP DEFAULT]  
SendBufferMemory=8M  
ReceiveBufferMemory=8M    

[NDBD DEFAULT]
BackupMaxWriteSize=1M  
BackupDataBufferSize=16M  
BackupLogBufferSize=4M  
BackupMemory=20M  
BackupReportFrequency=10  
MemReportFrequency=30  
LogLevelStartup=15  
LogLevelShutdown=15  
LogLevelCheckpoint=8  
LogLevelNodeRestart=15  
DataMemory=1146M  
IndexMemory=184M  
MaxNoOfTables=4096  
MaxNoOfTriggers=3500  
MaxNoOfAttributes=25000  
NoOfReplicas=2  
StringMemory=25  
DiskPageBufferMemory=64M  
SharedGlobalMemory=20M  
LongMessageBuffer=32M  
MaxNoOfConcurrentTransactions=16384  
BatchSizePerLocalScan=512  
FragmentLogFileSize=64M  
NoOfFragmentLogFiles=16  
RedoBuffer=64M  
MaxNoOfExecutionThreads=2  
StopOnError=false  
LockPagesInMainMemory=1  
TimeBetweenEpochsTimeout=32000  
TimeBetweenWatchdogCheckInitial=60000  
TransactionInactiveTimeout=60000  
HeartbeatIntervalDbDb=15000  
HeartbeatIntervalDbApi=15000  

[NDBD]  
NodeId=1  
HostName=192.168.5.4  
DataDir=/home/admin/MySQL_Cluster/1/  

[NDBD]  
NodeId=2  
HostName=192.168.5.75  
DataDir=/home/admin/MySQL_Cluster/2/  

[MYSQLD DEFAULT]  

[MYSQLD]  
NodeId=52  
HostName=192.168.5.4  

[MYSQLD]  
NodeId=55  
HostName=192.168.5.75  

[API]
NodeId=50
HostName=192.168.5.4

[API]  
NodeId=51  
HostName=192.168.5.4  

[API]  
NodeId=53  
HostName=192.168.5.75  

[API]  
NodeId=54  
HostName=192.168.5.75  

管理节点的报告:

Node 1: Data usage is 0%(48 32K pages of total 64000)  
Node 1: Index usage is 0%(468 8K pages of total 64032)  
Node 2: Data usage is 0%(48 32K pages of total 64000)  
Node 2: Index usage is 0%(468 8K pages of total 64032)

配置如下:

Connected to Management Server at: localhost:1186  
Cluster Configuration  
---------------------  
[ndbd(NDB)]     2 node(s)  
id=1    @192.168.5.4  (mysql-5.6.11 ndb-7.3.2, Nodegroup: 0, Master)  
id=2    @192.168.5.75  (mysql-5.6.11 ndb-7.3.2, Nodegroup: 0)  

[ndb_mgmd(MGM)] 1 node(s)  
id=49   @192.168.5.4  (mysql-5.6.11 ndb-7.3.2)  

[mysqld(API)]   6 node(s)  
id=50 (not connected, accepting connect from 192.168.5.4)  
id=51 (not connected, accepting connect from 192.168.5.4)  
id=52   @192.168.5.4  (mysql-5.6.11 ndb-7.3.2)  
id=53 (not connected, accepting connect from 192.168.5.75)  
id=54 (not connected, accepting connect from 192.168.5.75)  
id=55   @192.168.5.75  (mysql-5.6.11 ndb-7.3.2)  

我应该怎么办???

答案1

1114 错误可能由多种原因造成。

首先要检查的是节点是否对其数据文件夹具有写权限。在数据节点 1 上运行的用户是否是ndbd该文件夹的所有者/home/admin/MySQL_Cluster/1/?还要在节点 2 上检查这一点。

接下来,检查节点的硬件要求,如下所示http://dev.mysql.com/doc/refman/5.5/en/faqs-mysql-cluster.html#qandaitem-B-10-1-13最重要的是,确保所有节点都具有相同数量的 RAM。另外,检查 RAM 数量是否足以存储所有数据和索引(您的配置每个 NDB 节点大约需要 2.5GB,但 3GB 会更好)。

您的脚本是否立即失败,或者在插入多行后失败?如果它能够写入几行,然后失败,则问题与节点上的写入权限无关。

尝试手动将一些数据插入数据库(使用 mysql-client),当失败时输入show warnings,这将为您提供有关所收到的错误的更多信息。

当您使用 mysql 客户端时,运行此脚本:

SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE='ndbcluster';

如果您有任何使用 的大型表格,它将向您显示ndb_engine

编辑:根据 supper aban_89 的评论添加了信息。

听起来你仍在使用默认配置参数。请参阅MySQL 文档:MaxNoOfTables 的默认值为 128。

您应该关闭 NDB 管理节点,然后使用您的配置文件重新启动它:

/usr/local/mysql/bin/ndb_mgmd --initial --reload --config-file=/usr/local/mysql/config.ini

之后,执行滚动重启进入 NDB 管理客户端,然后逐个重新启动 NDB 节点,即可查看数据节点。您应该看到如下输出:

Connected to Management Server at: localhost:1186  
Cluster Configuration  
---------------------  
[ndbd(NDB)]     2 node(s)  
id=1    @192.168.5.4  (mysql-5.6.11 ndb-7.3.2, Nodegroup: 0, Master)  
id=2    @192.168.5.75  (mysql-5.6.11 ndb-7.3.2, Nodegroup: 0)  

[ndb_mgmd(MGM)] 1 node(s)  
id=49   @192.168.5.4  (mysql-5.6.11 ndb-7.3.2)  

[mysqld(API)]   6 node(s)  
id=50 (not connected, accepting connect from 192.168.5.4)  
id=51 (not connected, accepting connect from 192.168.5.4)  
id=52   @192.168.5.4  (mysql-5.6.11 ndb-7.3.2)  
id=53 (not connected, accepting connect from 192.168.5.75)  
id=54 (not connected, accepting connect from 192.168.5.75)  
id=55   @192.168.5.75  (mysql-5.6.11 ndb-7.3.2) 

ndb_mgm> 1 restart
Node 1: Node shutdown initiated
Node 1: Node shutdown completed, restarting, no start.
Node 1 is being restarted

ndb_mgm> Node 1: Start initiated (version 7.3.2)
Node 1: Started (version 7.3.2)
2 restart
Node 2: Node shutdown initiated
Node 2: Node shutdown completed, restarting, no start.
Node 2 is being restarted

ndb_mgm> Node 2: Start initiated (version 7.3.2)
Node 2: Started (version 7.3.2)

一旦滚动重启完成,您的数据节点将使用新的配置,并且 - 希望 - 您的问题将得到解决。

编辑2:根据评论 #2 进行阐述

这一页:脚本可能对于您的服务器来说太大了。尝试将其拆分成每个约 1000 行的单独文件,这应该会创建 3 个或 4 个文件。(我用过http://haitianschoolwithoutborders.org/liferay/create-minimal/create-minimal-mysql.sql以供参考)。

不要忘记use lportal;在每个文件的顶部添加,或者在导入命令中指定数据库(例如mysql -uliferay -p lportal < minimal.1.sql)。

相关内容