ndb 集群表已滿
我正在使用 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)
我該怎麼辦???
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
)。