http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
공지사항  
뉴스  
질문과 답변
DBA
Developer
Cluster
토크박스  
이벤트  
서포트 티켓  
최신글
mysql 백업/복구 …
apm 설치 헤메고…
mysql bin로그 갱…
myxql 관련 지원 …
MySQL 5.7에서 프…
 
질문과 답변 (Cluster) > 커뮤니티 존 > 질문과 답변 (Cluster)
클러스터 관련 문의드립니다.
글쓴이 : 잠만보   날짜 : 13-07-16 10:29   조회수 : 3491
클러스터에서 테이블 생성 시
Got error 707 'No more table metadata records (increase MaxNoOfTables)' from NDB
위와 같은 에러가 발생합니다.
해당 옵션의 최대치인 20320으로 값을 주고 재시작한 뒤 ndb_config -q MaxNoOfTables 로 값이 변경된 걸
확인 한 뒤 다시 테이블을 생성해도 마찬가지로 에러가 발생합니다.
테이블의 갯수는 총 5472개이며 실제 용량은 약 80기가정도입니다.
구성은 mgmt + api * 2, data * 3 으로 총 5대 구성하고 있습니다.
DB 용량이 너무 커서 각 테이블들은 디스크로 저장될 수 있도록 했고, 실제로 각 노드들의 데이터와 인덱스 공간의 사용량은 30 ~ 40퍼센트정도입니다.
NDB로 구성하기에 너무 용량이 커서인지.. 아니면 다른 옵션을 수정해야 할지...
답변 부탁드립니다.
잠만보
config.ini 내용입니다.

[NDBD DEFAULT]
NoOfReplicas: 3
DataDir: /usr/local/mysqlc/mysql-cluster
FileSystemPath: /usr/local/mysqlc/mysql-cluster

# Data Memory, Index Memory, and String Memory #
DataMemory: 6000M
IndexMemory: 1500M
StringMemory: 5

# Transaction Parameters #
MaxNoOfConcurrentTransactions: 4096
MaxNoOfConcurrentOperations: 100000
MaxNoOfLocalOperations: 100000

# Transaction Temporary Storage #
MaxNoOfConcurrentIndexOperations: 8192
MaxNoOfFiredTriggers: 4000
TransactionBufferMemory: 1M

# Scans and buffering #
MaxNoOfConcurrentScans: 300
MaxNoOfLocalScans: 32
BatchSizePerLocalScan: 64
LongMessageBuffer: 1M

# Logging and Checkpointing #
NoOfFragmentLogFiles: 300
FragmentLogFileSize: 16M
MaxNoOfOpenFiles: 40
InitialNoOfOpenFiles: 27
MaxNoOfSavedMessages: 25

# Metadata Objects #
MaxNoOfAttributes: 8000000
MaxNoOfTables: 20300
MaxNoOfOrderedIndexes: 20480
MaxNoOfUniqueHashIndexes: 10240
MaxNoOfTriggers: 60000
MaxNoOfUniqueHashIndexes: 20480

# Boolean Parameters #
LockPagesInMainMemory: 0
StopOnError: 1
Diskless: 0
ODirect: 0

# Controlling Timeouts, Intervals, and Disk Paging #
TimeBetweenWatchDogCheck: 6000
TimeBetweenWatchDogCheckInitial: 6000
StartPartialTimeout: 30000
StartPartitionedTimeout: 60000
StartFailureTimeout: 1000000
HeartbeatIntervalDbDb: 2000
HeartbeatIntervalDbApi: 3000
TimeBetweenLocalCheckpoints: 20
TimeBetweenGlobalCheckpoints: 2000
TransactionInactiveTimeout: 0
TransactionDeadlockDetectionTimeout: 1200
DiskSyncSize: 4M
DiskCheckpointSpeed: 10M
DiskCheckpointSpeedInRestart: 100M
ArbitrationTimeout: 10

# Buffering and Logging #
UndoIndexBuffer: 2M
UndoDataBuffer: 1M
RedoBuffer: 32M
LogLevelStartup: 15
LogLevelShutdown: 3
LogLevelStatistic: 0
LogLevelCheckpoint: 0
LogLevelNodeRestart: 0
LogLevelConnection: 0
LogLevelError: 15
LogLevelCongestion: 0
LogLevelInfo: 3
MemReportFrequency: 0

# Backup Parameters #
BackupDataBufferSize: 2M
BackupLogBufferSize: 2M
BackupMemory: 64M
BackupWriteSize: 32K
BackupMaxWriteSize: 256K

[MGM DEFAULT]
PortNumber: 1186
DataDir: /usr/local/mysqlc/mysql-cluster

[TCP DEFAULT]
SendBufferMemory: 2M

#######################################
# Change HOST1 to the name of the NDB_MGMD host
# Change HOST2 to the name of the NDB_MGMD host
# Change HOST3 to the name of the NDB_MGMD host
# Change HOST4 to the name of the NDBD host
# Change HOST5 to the name of the NDBD host
# Change HOST6 to the name of the NDBD host
# Change HOST7 to the name of the NDBD host
# Change HOST8 to the name of the NDBD host
# Change HOST9 to the name of the NDBD host
#######################################

[NDB_MGMD]
NodeId: 1
HostName: 192.168.1.66
ArbitrationRank: 1

[NDB_MGMD]
NodeId: 2
HostName: 192.168.1.67
ArbitrationRank: 1

[NDBD]
NodeId: 3
HostName: 192.168.1.68

[NDBD]
NodeId: 4
HostName: 192.168.1.69

[NDBD]
NodeId: 5
HostName: 192.168.1.7

#
# Note: The following can be MySQLD connections or
#      NDB API application connecting to the cluster
#

[API]
NodeId: 6
HostName: 192.168.1.66
ArbitrationRank: 2

[API]
NodeId: 7
HostName: 192.168.1.67
ArbitrationRank: 2
royster
물론 mgm node 뿐 아니라 ndb node도 재시작 시킨 상태겠죠.

우선  ndb_show_tables 유틸로 정확한 cluster 테이블 수를 확인해보구요.
shell> ndb_show_tables -t 1
shell> ndb_show_tables -t 2
shell> ndb_show_tables -t 3

BLOB data type을 사용 하지는도 체크 해야겠습다
BLOB data type의 경우 BLOB 데이타를 저장하기 위해서 별도의 추가 table을 사용하게 됩니다.
잠만보
system 2
usertable 6139
UniqueHashIndex 891

blob 데이터 타입은 사용하지 않고 있습니다.
3개 타입 모두 합쳐도 1만개가 못돼는데요..
실제로 테이블 생성 시나 alter 로 ndb 로 변경 시 Got error 707 'No more table metadata records (increase MaxNoOfTables)' from NDB 에러가 발생합니다;;;
이전글 Cluster 라이센스 문의 
다음글 CLUSER 하드웨어 사양 및 TABLESPACE 관련하여 질문드립니다.. 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
ⓒ 2010-2011 ssebiz All Rights Reserved.