18.5.13.2 MySQL Cluster 데이터 노드의 온라인 추가 : 기본 단계
이 섹션에서는 새로운 데이터 노드를 MySQL Cluster에 추가하는 데 필요한 기본 단계를 나열합니다. 이 단계는 데이터 노드 프로세스 ndbd 바이너리와 ndbmtd 바이너리의 어느 쪽을 사용하는 경우에도 적용됩니다. 자세한 예는 섹션 18.5.13.3 "MySQL Cluster 데이터 노드의 온라인 추가 : 자세한 예제" 를 참조하십시오.
이미 MySQL Cluster가 실행되고 있다고 가정하면, 데이터 노드를 온라인으로 추가하려면 다음 단계가 필요합니다.
추가 대상 노드에 대응하는 새로운
[ndbd]
섹션을 추가하여 클러스터 구성config.ini
파일을 편집합니다. 클러스터에서 여러 관리 서버가 사용되는 경우, 관리 서버에서 사용되는 모든config.ini
파일에 이러한 변경해야합니다.config.ini
파일에 추가되는 새로운 데이터 노드의 ID가 기존 노드로 사용되는 노드 ID와 중복되지 않도록주의해야합니다. 동적으로 할당 된 노드 ID를 사용하는 API 노드가 해당 ID가 새 노드로 사용되는 노드 ID와 일치하는 경우이 절차의 뒷부분에서 설명하는 것처럼 이러한 API노드를 강제로 이행 할 수 있습니다.모든 MySQL Cluster 관리 서버의 롤링 재시작을 수행합니다.
중요새로운 구성을 강제로 읽으려면 모든 관리 서버를
--reload
또는--initial
옵션을 사용하여 다시 시작해야합니다.기존의 모든 MySQL Cluster 데이터 노드의 롤링 재시작을 수행합니다. 기존 데이터 노드를 다시 시작하는 경우에는
--initial
을 사용할 필요가 없습니다 (일반적으로 바람직 없습니다).새로운 데이터 노드에 할당 한 노드 ID와 일치하는 동적으로 할당 된 ID를 가진 API 노드를 사용하는 경우이 단계에서 데이터 노드 프로세스 중 하나를 다시 시작하기 전에 모든 API 노드 (SQL 노드 포함)를 다시 시작해야합니다. 따라서 사전에 명시 적으로 할당되지 않은 노드 ID를 가진 API 노드는 이러한 노드 ID를 포기하고 새로운 ID를 가져옵니다.
MySQL Cluster에 연결되는 모든 SQL 노드 또는 API 노드의 롤링 재시작을 수행합니다.
새로운 데이터 노드를 시작합니다.
새로운 데이터 노드는 임의의 순서로 시작할 수 있습니다. 또한 그들은 기존의 모든 데이터 노드의 롤링 재시작이 완료된 후 다음 단계로 진행 사이에 시작되는 한 동시에 시작할 수 있습니다.
MySQL Cluster 관리 클라이언트에서
CREATE NODEGROUP
명령을 1 회 이상 실행하여 새로운 데이터 노드가 속한 하나 이상의 새 노드 그룹을 만듭니다.NDBCLUSTER
테이블마다 mysql 클라이언트에서ALTER ONLINE TABLE ... REORGANIZE PARTITION
명령문을 발행하여 모든 데이터 노드 (새로 포함) 사이에서 클러스터 데이터를 다시 배포합니다.참고이것은 새로운 노드 그룹을 추가 할 때 이미 존재하는 테이블에 대해서만 실행해야합니다. 새로운 노드 그룹을 추가 한 후 생성 된 테이블의 데이터는 자동으로 재배포되지 않습니다. 그러나 새 노드를 추가하기 전에 존재했던 특정 테이블
tbl
에 추가 된 데이터는 테이블이ALTER ONLINE TABLE tbl REORGANIZE PARTITION
을 사용하여 재구성 될 때까지 새로운 노드를 사용하여 다시 배포되지 않습니다.NDBCLUSTER
테이블마다 mysql 클라이언트에서OPTIMIZE TABLE
문을 실행하여 "이전"노드에서 해방 된 공간을 확보합니다.
원하는 노드를 추가하고 여러 CREATE NODEGROUP
명령을 연속 발행하여 새 노드 그룹을 클러스터에 추가 할 수 있습니다.