Loading...
MySQL 9.5 Reference Manual 9.5의 25.5.3 ndbmtd — The NDB Cluster Data Node Daemon (Multi-Threaded)의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
ndbmtd는
ndbd의 멀티스레드 버전이며,
이는 NDBCLUSTER 스토리지 엔진을 사용하여
테이블의 모든 데이터를 처리하는 데 사용되는 프로세스입니다.
ndbmtd는 여러 CPU 코어를 가진 호스트 컴퓨터에서 사용하도록 설계되었습니다. 별도로 언급된 경우를 제외하면, ndbmtd는 ndbd와 동일한 방식으로 동작합니다.
따라서 이 절에서는 ndbmtd가 ndbd와 다른 점에 초점을 맞추며, 싱글스레드 및 멀티스레드 버전의 데이터 노드 프로세스 둘 모두에 적용되는 NDB Cluster 데이터 노드 실행에 대한 추가 정보는 Section 25.5.1, “ndbd — The NDB Cluster Data Node Daemon”을 참조해야 합니다.
ndbd와 함께 사용되는 커맨드라인 옵션과 구성 파라미터는 ndbmtd에도 동일하게 적용됩니다. 이러한 옵션 및 파라미터에 대한 자세한 내용은 Section 25.5.1, “ndbd — The NDB Cluster Data Node Daemon” 및 Section 25.4.3.6, “Defining NDB Cluster Data Nodes”를 각각 참조하십시오.
ndbmtd는 ndbd와 파일 시스템 호환성이 있습니다. 즉, ndbd를 실행 중인 데이터 노드를 중지하고, 바이너리를 ndbmtd로 교체한 다음, 데이터 손실 없이 다시 시작할 수 있습니다.
(그러나 이 작업을 수행할 때,
ndbmtd를
멀티스레드 방식으로 실행하려는 경우,
노드를 재시작하기 전에
MaxNoOfExecutionThreads가
적절한 값으로 설정되어 있는지 확인해야 합니다.)
마찬가지로,
멀티스레드 바이너리 대신 노드를 중지한 후
ndbmtd 바이너리를
ndbd로 교체하고
대신 ndbd를 시작할 수 있습니다.
두 바이너리 간에 전환할 때
--initial을
사용하여 데이터 노드 바이너리를 시작할 필요는 없습니다.
ndbmtd를 사용하는 것은 다음 두 가지 주요 측면에서 ndbd를 사용하는 것과 다릅니다:
ndbmtd는 기본적으로
싱글스레드 모드(즉,
ndbd처럼 동작하는 모드)로 실행되므로,
여러 스레드를 사용하도록 이를 구성해야 합니다.
이는 config.ini 파일에서
MaxNoOfExecutionThreads
구성 파라미터 또는
ThreadConfig
구성 파라미터에 적절한 값을 설정하여 수행할 수 있습니다.
MaxNoOfExecutionThreads를 사용하는 것이 더 간단하지만,
ThreadConfig가 더 많은 유연성을 제공합니다.
이러한 구성 파라미터 및 그 사용법에 대한 자세한 내용은
Multi-Threading Configuration Parameters (ndbmtd)를 참조하십시오.
ndbmtd 프로세스의 크리티컬 에러로 인해 생성되는 트레이스 파일은 ndbd 실패로 인해 생성되는 것과는 다소 다른 방식으로 생성됩니다. 이러한 차이점은 다음 몇 단락에서 더 자세히 논의합니다.
ndbd와 마찬가지로
ndbmtd는
config.ini 구성 파일의
DataDir로 지정된 디렉터리에
로그 파일 집합을 생성합니다.
트레이스 파일을 제외하면, 이러한 파일은 ndbd가 생성하는 것과 동일한 방식으로 생성되며 동일한 이름을 가집니다.
크리티컬 에러가 발생하면,
ndbmtd는
에러가 발생하기 직전에 일어난 일을 설명하는 트레이스 파일을 생성합니다.
이 파일은 데이터 노드의
DataDir에서 찾을 수 있으며,
NDB Cluster 개발 및 지원 팀이 문제를 분석하는 데 유용합니다.
각 ndbmtd 스레드마다 하나의 트레이스 파일이 생성됩니다. 이러한 파일의 이름은 다음과 같은 패턴을 가집니다:
1ndb_node_id_trace.log.trace_id_tthread_id,
이 패턴에서 _node_id_는
클러스터 내에서 데이터 노드의 고유한 노드 ID를 나타내고,
_trace_id_는 트레이스 시퀀스 번호이며,
_thread_id_는 스레드 ID입니다.
예를 들어,
NDB Cluster 데이터 노드로 실행 중인
ndbmtd 프로세스가
노드 ID 3을 가지고 있고
MaxNoOfExecutionThreads가
4와 같을 때, 해당 프로세스가 실패하면
데이터 노드의 데이터 디렉터리에 네 개의 트레이스 파일이 생성됩니다.
이 노드가 처음으로 실패한 경우,
이들 파일의 이름은
ndb_3_trace.log.1_t1,
ndb_3_trace.log.1_t2,
ndb_3_trace.log.1_t3,
ndb_3_trace.log.1_t4가 됩니다.
내부적으로, 이러한 트레이스 파일은 ndbd 트레이스 파일과 동일한 포맷을 따릅니다.
데이터 노드 프로세스가 조기 종료될 때 생성되는 ndbd 종료 코드와 메시지는 ndbmtd에서도 동일하게 사용됩니다. 이들에 대한 목록은 Data Node Error Messages를 참조하십시오.
참고
동일한 NDB Cluster 내의 서로 다른 데이터 노드에서 ndbd와 ndbmtd를 동시에 사용하는 것은 가능합니다. 그러나 이러한 구성은 광범위하게 테스트되지 않았으므로, 현재 시점에서는 프로덕션 환경에서 사용하기를 권장할 수 없습니다.
25.5.2 ndbinfo_select_all — Select From ndbinfo Tables
25.5.4 ndb_mgmd — The NDB Cluster Management Server Daemon