AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 530015
Accepted
supper aban_89
supper aban_89
Asked: 2013-08-10 20:27:29 +0800 CST2013-08-10 20:27:29 +0800 CST 2013-08-10 20:27:29 +0800 CST

ndb 集群表已满

  • 772

我正在使用 ndb cluster au 安装简单测试和高写入负载选项。集群启动成功。然后我create-minimal-mysql.sql通过替换InnoDB并NDBCLUSTER运行它来编辑文件。它显示:
第 1703 行的错误 1114(HY000):表“用户组”已满。

这是我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)  

我应该怎么办???

mysql-cluster
  • 1 1 个回答
  • 7137 Views

1 个回答

  • Voted
  1. Best Answer
    Luc van Donkersgoed
    2013-08-12T01:18:56+08:002013-08-12T01:18:56+08:00

    1114 错误有多种可能的原因。

    首先要查找的是节点是否在其数据文件夹中具有写入权限。ndbd在数据节点 1 上运行的用户是/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),当它失败时 type 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)。

    • 2

相关问题

  • FreeBSD 7.1 上的 MySQL NDB 集群

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve