SQL Error: 1297, SQLState: HY000
Got temporary error 291 'Out of scanfrag records in TC (increase MaxNoOfLocalScans)' from NDBCLUSTER
發生於高並發掃描場景,本地掃描記錄耗盡。
編輯 config.ini(管理節點配置),在每個 [ndbd] 區段新增:
[ndbd]
id=2
hostname=192.168.110.9
datadir=/usr/local/mysql/mysql-cluster
MaxNoOfLocalScans=1000 # 預設 256,視負載調大
[ndbd]
id=3
hostname=192.168.110.10
datadir=/usr/local/mysql/mysql-cluster
MaxNoOfLocalScans=1000
MaxNoOfLocalScans 限制單節點同時進行的本地掃描數,預設 256 易不足。ndb_mgm -e "2 RESTART")。ndbinfo.scan_memory_usage 監控實際使用量,避免過大浪費記憶體。虛擬機測試驗證通過,線上建議分批灰度調整。