MySQL NDB CLUSTER 常见错误以及解决办法
This is a test setup and to get maximum RAM availability, I have 3 data nodes and 1 Management node with replication factor of 1. The solutions provided are the ones which helped me.
1. ERROR 1297 (HY000) at line 1872: Got temporary error 410 'REDO log files overloaded, consult online manual (decrease TimeBetweenLocalCheckpoints, and|or incre' from NDBCLUSTER
Solution : Modify / Add parameter TimeBetweenLocalCheckpoints in your config.ini.
Default value = 20
Changed 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 1443: 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.
3. ERROR 1297 (HY000) at line 1826: 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.
4. ERROR 1297 (HY000) at line 7064: 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.
5. ERROR 1114 (HY000) at line 8820: 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.
6. ERROR 1205 (HY000) at line 10208: 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.
**
**
7. ERROR 1118 (42000) at line 661: 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
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.
参考文档:https://dev.mysql.com/doc/ndbapi/en/ndb-api-errors.html
标题:MySQL NDB CLUSTER 常见错误以及解决办法
作者:zytops
地址:https://zytops.com/articles/2020/04/26/1587892777241.html