Mysql-Cluster

ndb 集群表已滿

  • April 29, 2015

我正在使用 ndb cluster au 安裝簡單測試和高寫入負載選項。集群啟動成功。然後我create-minimal-mysql.sql通過替換InnoDBNDBCLUSTER執行它來編輯文件。它顯示:

第 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)  

我該怎麼辦???

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)。

引用自:https://serverfault.com/questions/530015