MySQL NDB
CLUSTER 常见错误以及解决办法
ERROR 1297
REDO log files overloaded
1. ERROR 1297 (HY000) at line ....: Got temporary error 410 'REDO
log files overloaded, consult online manual (decrease
TimeBetweenLocalCheckpoints........' from NDBCLUSTER
Solution :
Modify / Add parameter TimeBetweenLocalCheckpoints in your
config.ini.Default
value = 20Changed
it to TimeBetweenLocalCheckpoints =6
Setting TimeBetweenLocalCheckpoints to
6 or less means that local checkpoints will be executed
continuously without pause, independent of the cluster's
workload.
2. ERROR
1297 (HY000) at line ......: Got temporary error 1220 'REDO log
files overloaded,
consult online manual (increase FragmentLogFileSize)......' from
NDBCLUSTER
Solution: Modify / Add parameter
FragmentLogFileSize in your config.ini.
Default value = 16M
Changed it to FragmentLogFileSize=256M
Setting this parameter allows you to control directly the size of
the redo log files. This can be useful in situations when MySQL
Cluster is operating under a high load and it is unable to close
fragment log files quickly enough before attempting to open new
ones. Increasing the size of the fragment log files gives the
cluster more time before having to open each new fragment log
file.
ERROR 1297
REDO buffers overloaded
3. ERROR 1297 (HY000) at line ......: Got temporary error 1221
'REDO buffers overloaded, consult online manual (increase
RedoBuffer)' from NDBCLUSTER
Solution: Modify / Add parameter RedoBuffer in
your config.ini.
Default value = 8M
Changed5 it to RedoBuffer=128M
All update activities also need to be logged. The REDO log makes it
possible to replay these updates whenever the system is restarted.
RedoBuffer sets the size of the buffer in which REDO log is
written.
ERROR 1297
Out of operation records in transaction
coordinator
4. ERROR 1297 (HY000) at line ......: Got
temporary error 233 'Out of operation records in transaction
coordinator (increase MaxNoOfConcurrentOperations)' from
NDBCLUSTER
Solution: Modify
/ Add parameter MaxNoOfConcurrentOperations in your
config.ini
Default value=32K
Changed it to MaxNoOfConcurrentOperations=1M
It is a good idea to adjust the value of this parameter according
to the size and number of transactions.
ERROR 1114
The table 'table_1' is
full
5. ERROR 1114 (HY000) at line ......: The table
'table_1' is full
Solution: Modify the parameter DataMemory in your
config.ini
Default value: 80M
Changed it to DataMemory=14G
This parameter defines the amount of space (in bytes) available for
storing database records. The entire amount specified by this value
is allocated in memory., so it is extremely important that the
machine has sufficient physical memory to accommodate
it.
The memory allocated by DataMemory is used to store both the actual
records and indexes. There is a 16-byte overhead on each record; an
additional amount for each record is incurred because it is stored
in a 32KB page with 128 byte page overhead. There is also a small
amount of wastage per page due to the fact that each record is
stored in only one page.
ERROR 1205
Lock wait timeout exceeded; try
restarting transaction
6. ERROR 1205 (HY000) at line ......: Lock wait
timeout exceeded; try restarting transaction
Solution: Add / modify the parameter
TransactionDeadlockDetectionTimeout in config.ini
Default value = 1200 milliseconds
Changed the value to
TransactionDeadlockDetectionTimeout=15000
The timeout parameter states how long the transaction coordinator
waits for the query execution by another node before aborting the
transaction and is important for both node failure handling and
deadlock detection.
ERROR 1118
Row size too large
7. ERROR 1118 (42000) at line ....: Row size too
large. The maximum row size for the used table type, not counting
BLOBs, is 8052. You have to change some columns to TEXT or
BLOBs
Solution: This error is generally due to the know
limitation in MySQL Cluster 5.1.
"The maximum permitted size of any one row is 8KB." .
The work around for this is modify the table schema so that large
varchar values are changed to text
ERROR 1005
Can't create
table
8. ERROR 1005 (HY000): Can't create table
'DB1.Table_5' (errno: 136)
Solution: Errno: 136 refers to index file being
full. Parameter that can be modified here
is MaxNoOfOrderedIndexes.
Default Value=128. Change it to something higher based on the size
mentioned by running ndb_size.pl. In my case it is 263.