18.4.3 ndbmtd - MySQL Cluster 데이터 노드 데몬 (멀티 스레드)
ndbmtd는 ndbd의 멀티 스레드 버전이며, NDBCLUSTER
스토리지 엔진을 사용하여 테이블의 모든 데이터를 처리하는 데 사용하는 프로세스입니다. ndbmtd은 여러 개의 CPU 코어를 가진 호스트 컴퓨터에서 사용하는 것이 의도되고 있습니다. 특히 기재되어 있지 않은 경우, ndbmtd는 ndbd와 동일하게 작동합니다. 따라서이 섹션에서는 ndbmtd가 ndbd과 다른 점에 중점을두고 단일 스레드 버전과 멀티 스레드 버전의 두 데이터 노드 프로세스에 해당하는 MySQL Cluster의 데이터 노드의 실행에 대한 자세한 내용은 섹션 18.4.1 "ndbd - MySQL Cluster 데이터 노드 데몬" 을 참조하십시오.
ndbd에서 사용되는 명령 줄 옵션 및 구성 매개 변수는 ndbmtd에도 적용됩니다. 이러한 옵션 및 매개 변수는 각 섹션 18.4.1 "ndbd - MySQL Cluster 데이터 노드 데몬" 및 섹션 18.3.2.6 "MySQL Cluster 데이터 노드의 정의" 를 참조하십시오.
또한 ndbmtd는 ndbd 및 파일 시스템 호환됩니다. 즉, ndbd를 실행하는 데이터 노드를 중지하고 바이너리를 ndbmtd로 대체하여 데이터 손실없이 다시 시작할 수 있습니다 (그러나 이렇게하면 ndbmtd을 멀티 스레드로 실행하려면 노드 를 다시 시작하기 전에 MaxNoOfExecutionThreads
에 적절한 값이 설정되어 있는지 확인해야합니다). 마찬가지로 노드를 중지하고 멀티 스레드 이진 대신 ndbd를 시작하여 ndbmtd 바이너리를 ndbd로 대체 할 수 있습니다. 이 두 가지를 전환 할 때 --initial
을 사용하여 데이터 노드 바이너리를 시작할 필요가 없습니다.
ndbmtd를 사용하면 ndbd를 사용했을 경우와 2 가지 중요한 점에서 다릅니다.
ndbmtd는 기본적으로 단일 스레드 모드에서 실행되기 때문에 (즉, ndbd처럼 작동합니다) 멀티 스레드를 사용하도록 구성해야합니다. 이렇게는
config.ini
파일의MaxNoOfExecutionThreads
구성 매개 변수 또는ThreadConfig
구성 매개 변수에 적절한 값을 설정합니다.MaxNoOfExecutionThreads
쉽게 사용할 수 있지만ThreadConfig
에 더 유연합니다. 이러한 구성 매개 변수 및 그 사용 방법은 멀티 스레드 구성 매개 변수 (ndbmtd) 를 참조하십시오.추적 파일은 ndbmtd 과정에서 심각한 오류가 발생했을 때 생성되지만, ndbd에 장애가 발생했을 때 이들이 생성되는 방식과는 약간 다릅니다. 이러한 차이점은 다음 몇 단락에서 설명합니다.
ndbd와 마찬가지로 ndbmtd는 config.ini
구성 파일의 DataDir
에서 지정된 디렉토리에 저장되는 일련의 로그 파일을 생성합니다. 추적 파일을 제외하고 이들은 ndbd에서 생성되는 것과 마찬가지로 생성 된 같은 이름을 붙일 수 있습니다.
심각한 오류가 발생한 경우 ndbmtd 오류가 발생하기 직전에 발생한 사건을 나타내는 추적 파일을 생성합니다. 데이터 노드의 DataDir
에있는이 파일은 MySQL Cluster의 개발 팀 및 지원 팀이 문제를 분석하는 데 유용합니다. 각 ndbmtd 스레드에 대해 하나의 추적 파일이 생성됩니다. 이러한 파일의 이름은 다음 패턴이 있습니다.
ndb_node_id
_trace.log.trace_id
_tthread_id
,
이 패턴에서 node_id
는 클러스터의 데이터 노드 고유의 노드 ID를 나타내며 trace_id
는 추적 시퀀스 번호이며, thread_id
는 스레드 ID입니다. 예를 들어, 노드 ID가 3이고 MaxNoOfExecutionThreads
4 인 MySQL Cluster 데이터 노드로 실행되는 ndbmtd 과정에서 오류가 발생한 경우에는 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에도 사용됩니다. 이 목록은 ndbd
Error Messages 를 참조하십시오.
같은 MySQL Cluster 다른 데이터 노드에서 ndbd 및 ndbmtd를 동시에 사용할 수 있습니다. 그러나 이러한 구성은 충분히 테스트되지 않기 때문에 현재 실전 설정에서 이렇게 것은 권장되지 않습니다.