• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 1. MySQL Cluster 개요
    2. MySQL Cluster 설치
    3. MySQL Cluster 설정
    4. MySQL Cluster 프로그램
    5. MySQL Cluster 관리
    1. MySQL Cluster의 시작 단계 요약
    2. MySQL Cluster 관리 클라이언트 명령
    3. MySQL Cluster의 온라인 백업
    4. MySQL Cluster에서 MySQL 서버의 사용법
    5. MySQL Cluster의 롤링 재시작 실행
    6. MySQL Cluster에서 생성 된 이벤트 보고서
    7. MySQL Cluster 로그 메시지
    8. MySQL Cluster의 단일 사용자 모드
    9. Quick Reference: MySQL Cluster SQL문
    10. ndbinfo MySQL Cluster Information Database
    11. MySQL Cluster 보안 이슈
    12. MySQL Cluster Disk Data 테이블
    13. MySQL Cluster 데이터 노드의 온라인 추가
    1. MySQL Cluster 데이터 노드의 온라인 추가 : 일반적인 문제
    2. MySQL Cluster 데이터 노드의 온라인 추가 : 기본 단계
    3. MySQL Cluster 데이터 노드의 온라인 추가 : 자세한 예제
    14. MySQL Cluster 배포 된 MySQL 권한
    15. NDB API 통계 카운터 및 변수
    6. MySQL Cluster Replication
    7. MySQL Cluster Release Notes
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

18.5.13.3 MySQL Cluster 데이터 노드의 온라인 추가 : 자세한 예제

이 섹션에서는 MySQL Cluster 데이터 노드를 온라인으로 추가하는 방법을 설명하는 자세한 예제를 보여줍니다. 먼저 단일 노드 그룹에 2 개의 데이터 노드를 가진 MySQL Cluster에서 시작하여 두 노드 그룹에 4 개의 데이터 노드 클러스터에서 종료합니다.

구성의 시작 설명을 위해 최소한의 구성으로 다음의 정보만을 포함 config.ini 파일을 클러스터에서 사용한다고 가정합니다.

[ndbd default]
DataMemory = 100M
IndexMemory = 100M
NoOfReplicas = 2
DataDir = /usr/local/mysql/var/mysql-cluster

[ndbd]
Id = 1
HostName = 192.168.0.1

[ndbd]
Id = 2
HostName = 192.168.0.2

[mgm]
HostName = 192.168.0.10
Id = 10

[api]
Id=20
HostName = 192.168.0.20

[api]
Id=21
HostName = 192.168.0.21
참고

데이터 노드 ID와 다른 노드 간의 순서에 간격을두고 있습니다. 그러면 나중에 새롭게 추가되는 데이터 노드에 아직 사용되지 않은 노드 ID를 쉽게 지정할 수 있습니다.

또한 적절한 명령 행 또는 my.cnf 옵션을 사용하여 클러스터를 이미 시작하고, 관리 클라이언트에서 SHOW 를 실행하면 다음 것과 유사한 출력이 생성된다고 가정합니다.

-- NDB Cluster -- Management Client --
ndb_mgm> SHOW
Connected to Management Server at: 192.168.0.10:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @192.168.0.1  (5.6.27-ndb-7.4.9, Nodegroup: 0, *)
id=2    @192.168.0.2  (5.6.27-ndb-7.4.9, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=10   @192.168.0.10  (5.6.27-ndb-7.4.9)

[mysqld(API)]   2 node(s)
id=20   @192.168.0.20  (5.6.27-ndb-7.4.9)
id=21   @192.168.0.21  (5.6.27-ndb-7.4.9)

마지막으로, 다음과 같이 생성 된 단일 NDBCLUSTER 테이블이 클러스터에 포함되어 있다고 가정합니다.

USE n;

CREATE TABLE ips (
    id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    country_code CHAR(2) NOT NULL,
    type CHAR(4) NOT NULL,
    ip_address varchar(15) NOT NULL,
    addresses BIGINT UNSIGNED DEFAULT NULL,
    date BIGINT UNSIGNED DEFAULT NULL
)   ENGINE NDBCLUSTER;

이 섹션 뒷부분에 나와있는 메모리 사용률 및 관련 정보는이 테이블에 약 50000 개 삽입 한 후에 생성되었습니다.

참고

이 예에서는 데이터 노드 프로세스에 단일 스레드 ndbd를 사용하는 것을 나타냅니다. 그러나 MySQL Cluster NDB 7.0.4 이상에서는 멀티 스레드 ndbmtd를 사용하는 경우에도 아래의 단계 ndbd가 표시된 부분을 ndbmtd에 대체하여이 예를 적용 할 수 있습니다. (Bug # 43108)

1 단계 : 구성 파일의 업데이트 텍스트 편집기에서 클러스터의 글로벌 구성 파일을 열고 2 개의 새로운 데이터 노드에 해당하는 [ndbd] 섹션을 추가합니다. (이러한 데이터 노드에 ID 3과 4를 부여하고 그들이 각각 192.168.0.3와 192.168.0.4의 주소에있는 호스트 시스템에서 실행된다고 가정합니다.) 새로운 섹션을 추가 한 후 config.ini 파일 내용이 다음과 같이 보입니다. 여기서 파일에 추가 한 부분은 굵게 표시되어 있습니다.

[ndbd default]
DataMemory = 100M
IndexMemory = 100M
NoOfReplicas = 2
DataDir = /usr/local/mysql/var/mysql-cluster

[ndbd]
Id = 1
HostName = 192.168.0.1

[ndbd]
Id = 2
HostName = 192.168.0.2

[ndbd]
Id = 3
HostName = 192.168.0.3

[ndbd]
Id = 4
HostName = 192.168.0.4

[mgm]
HostName = 192.168.0.10
Id = 10

[api]
Id=20
HostName = 192.168.0.20

[api]
Id=21
HostName = 192.168.0.21

필요한 변경이 완료되면 파일을 저장합니다.

2 단계 : 관리 서버를 재시작 클러스터 관리 서버를 다시 시작하려면 다음과 같이 별도의 명령을 실행하여 관리 서버를 중지 한 후 다시 시작해야합니다.

  1. 다음과 같이 관리 클라이언트의 STOP 명령을 사용하여 관리 서버를 중지합니다.

    ndb_mgm> 10 STOP
    Node 10 has shut down.
    Disconnecting to allow Management Server to shutdown
    
    shell>
    
  2. 관리 서버를 종료하면 관리 클라이언트가 종료하기 위해 시스템 쉘에서 관리 서버를 시작해야합니다. 단순하게하기 위해 config.ini 는 관리 서버 바이너리와 같은 디렉토리에 있다고 가정하고 있습니다 만, 실제로는 구성 파일의 정확한 경로를 지정해야합니다. 또한 관리 서버가 구성 캐시가 아니라 파일에서 새로운 구성을 읽을 수 있도록 --reload 또는 --initial 옵션도 지정해야합니다. 쉘의 현재 디렉토리를 관리 서버 바이너리가 배치되어있는 디렉토리와 동일한 경우는 다음과 같이 관리 서버를 호출 할 수 있습니다.

    shell> ndb_mgmd -f config.ini --reload
    2008-12-08 17:29:23 [MgmSrvr] INFO     -- NDB Cluster Management Server. 5.6.27-ndb-7.4.9
    2008-12-08 17:29:23 [MgmSrvr] INFO     -- Reading cluster configuration from 'config.ini'
    

ndb_mgm 프로세스가 다시 시작 된 후 관리 클라이언트에서 SHOW 의 출력을 선택하면 다음과 같이 표시됩니다.

-- NDB Cluster -- Management Client --
ndb_mgm> SHOW
Connected to Management Server at: 192.168.0.10:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @192.168.0.1  (5.6.27-ndb-7.4.9, Nodegroup: 0, *)
id=2    @192.168.0.2  (5.6.27-ndb-7.4.9, Nodegroup: 0)
id=3 (not connected, accepting connect from 192.168.0.3)
id=4 (not connected, accepting connect from 192.168.0.4)

[ndb_mgmd(MGM)] 1 node(s)
id=10   @192.168.0.10  (5.6.27-ndb-7.4.9)

[mysqld(API)]   2 node(s)
id=20   @192.168.0.20  (5.6.27-ndb-7.4.9)
id=21   @192.168.0.21  (5.6.27-ndb-7.4.9)

3 단계 : 기존의 데이터 노드의 롤링 재시작 실행 다음과 같이 RESTART 명령을 사용하면이 단계를 완전히 클러스터 관리 클라이언트에서 제공합니다.

ndb_mgm> 1 RESTART
Node 1: Node shutdown initiated
Node 1: Node shutdown completed, restarting, no start.
Node 1 is being restarted

ndb_mgm> Node 1: Start initiated (version 7.4.9)
Node 1: Started (version 7.1.36)

ndb_mgm> 2 RESTART
Node 2: Node shutdown initiated
Node 2: Node shutdown completed, restarting, no start.
Node 2 is being restarted

ndb_mgm> Node 2: Start initiated (version 7.4.9)

ndb_mgm> Node 2: Started (version 7.4.9)
중요

각 X RESTART 명령을 실행하면 관리 클라이언트가 「Node X : Started (version ...)」 라는 보고서가 출력 될 때까지 대기 한 후 계속합니다.

mysql 클라이언트에서 ndbinfo.nodes 테이블을 선택하면 기존의 데이터 노드가 모든 업데이트 된 구성을 사용하여 다시 시작 된 것을 확인할 수 있습니다.

4 단계 : 모든 클러스터 API 노드의 롤링 재시작 실행 mysqladmin shutdown에 이어 mysqld_safe (또는 다른 시작 스크립트)를 사용하여 클러스터의 SQL 노드로 작동하는 각 MySQL 서버를 종료하고 다시 시작합니다. 이것은 다음 것과 비슷합니다. 여기서 password 는 특정 MySQL 서버 인스턴스의 MySQL root 암호입니다.

shell> mysqladmin -uroot -ppassword shutdown
081208 20:19:56 mysqld_safe mysqld from pid file
/usr/local/mysql/var/tonfisk.pid ended
shell> mysqld_safe --ndbcluster --ndb-connectstring=192.168.0.10 &
081208 20:20:06 mysqld_safe Logging to '/usr/local/mysql/var/tonfisk.err'.
081208 20:20:06 mysqld_safe Starting mysqld daemon with databases
from /usr/local/mysql/var

당연히 정확한 입력 및 출력은 MySQL이 시스템에 설치되어있는 방법과 장소, 그리고 시작할 때 선택한 옵션 (및 이러한 옵션의 일부 또는 전부를 my.cnf 파일에 지정되어 있는지 여부 )에 따라 다릅니다.

5 단계 : 새로운 데이터 노드의 초기 부팅 수행 다음과 같이 새로운 데이터 노드의 각 호스트 시스템 쉘에서 --initial 옵션을 사용하여 데이터 노드를 시작합니다.

shell> ndbd -c 192.168.0.10 --initial
참고

기존 데이터 노드를 다시 시작하는 경우와는 달리 새로운 데이터 노드는 동시에 시작할 수 있습니다. 데이터 노드의 시작이 완료 될 때까지 기다린 후 다른 데이터 노드를 시작할 필요가 없습니다.

새로운 데이터 노드가 모두 시작될 때까지 기다린 후 다음 단계로 이동합니다. 새로운 데이터 노드가 시작되면 관리 클라이언트의 SHOW 명령의 출력에서 (아래 굵게 표시된 것처럼) 그들이 어떤 노드 그룹에도 속하지 않는 것을 확인할 수 있습니다.

ndb_mgm> SHOW
Connected to Management Server at: 192.168.0.10:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @192.168.0.1  (5.6.27-ndb-7.4.9, Nodegroup: 0, *)
id=2    @192.168.0.2  (5.6.27-ndb-7.4.9, Nodegroup: 0)
id=3    @192.168.0.3  (5.6.27-ndb-7.4.9, no nodegroup)
id=4    @192.168.0.4  (5.6.27-ndb-7.4.9, no nodegroup)

[ndb_mgmd(MGM)] 1 node(s)
id=10   @192.168.0.10  (5.6.27-ndb-7.4.9)

[mysqld(API)]   2 node(s)
id=20   @192.168.0.20  (5.6.27-ndb-7.4.9)
id=21   @192.168.0.21  (5.6.27-ndb-7.4.9)

6 단계 : 새로운 노드 그룹 만들기 이것은 클러스터 관리 클라이언트에서 CREATE NODEGROUP 명령을 실행하여 실행할 수 있습니다. 다음과 같이이 명령은 인수로 새로운 노드 그룹에 포함 된 데이터 노드의 ID를 쉼표로 구분 된 목록을 가지고 있습니다.

ndb_mgm> CREATE NODEGROUP 3,4
Nodegroup 1 created

다시 SHOW 를 발행하면 (마찬가지로 굵게 표시된대로) 데이터 노드 3과 4가 새로운 노드 그룹에 참여한 것을 확인할 수 있습니다.

ndb_mgm> SHOW
Connected to Management Server at: 192.168.0.10:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @192.168.0.1  (5.6.27-ndb-7.4.9, Nodegroup: 0, *)
id=2    @192.168.0.2  (5.6.27-ndb-7.4.9, Nodegroup: 0)
id=3    @192.168.0.3  (5.6.27-ndb-7.4.9, Nodegroup: 1)
id=4    @192.168.0.4  (5.6.27-ndb-7.4.9, Nodegroup: 1)

[ndb_mgmd(MGM)] 1 node(s)
id=10   @192.168.0.10  (5.6.27-ndb-7.4.9)

[mysqld(API)]   2 node(s)
id=20   @192.168.0.20  (5.6.27-ndb-7.4.9)
id=21   @192.168.0.21  (5.6.27-ndb-7.4.9)

7 단계 : 클러스터 데이터 재배포 관리 클라이언트에서 적절한 REPORT 명령을 실행하여 확인할 수 있도록 노드 그룹을 만들 때 기존 데이터 및 인덱스는 자동으로 새 노드 그룹의 데이터 노드에 배포되지 않습니다.

ndb_mgm> ALL REPORT MEMORY

Node 1: Data usage is 5%(177 32K pages of total 3200)
Node 1: Index usage is 0%(108 8K pages of total 12832)
Node 2: Data usage is 5%(177 32K pages of total 3200)
Node 2: Index usage is 0%(108 8K pages of total 12832)
Node 3: Data usage is 0%(0 32K pages of total 3200)
Node 3: Index usage is 0%(0 8K pages of total 12832)
Node 4: Data usage is 0%(0 32K pages of total 3200)
Node 4: Index usage is 0%(0 8K pages of total 12832)

-p 옵션을 붙여 ndb_desc을 사용하면 출력에 분할 정보가 포함되어 있으므로 테이블에서는 아직 2 개의 파티션만을 사용되지 않은 것을 (여기에 굵은 글씨로 표시된 출력 「Per partition info」 섹션) 확인할 수 있습니다.

shell> ndb_desc -c 192.168.0.10 -d n ips -p
-- ips --
Version: 1
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 6
Number of primary keys: 1
Length of frm data: 340
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 2
TableStatus: Retrieved
-- Attributes --
id Bigint PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
country_code Char(2;latin1_swedish_ci) NOT NULL AT=FIXED ST=MEMORY
type Char(4;latin1_swedish_ci) NOT NULL AT=FIXED ST=MEMORY
ip_address Varchar(15;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
addresses Bigunsigned NULL AT=FIXED ST=MEMORY
date Bigunsigned NULL AT=FIXED ST=MEMORY

-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex

-- Per partition info --
Partition   Row count   Commit count  Frag fixed memory   Frag varsized memory
0           26086       26086         1572864             557056
1           26329       26329         1605632             557056

NDBT_ProgramExit: 0 - OK

NDBCLUSTER 테이블마다 mysql 클라이언트에서 ALTER ONLINE TABLE ... REORGANIZE PARTITION 명령문을 실행하여 모든 데이터 노드간에 데이터 재배포되도록 할 수 있습니다. ALTER ONLINE TABLE ips REORGANIZE PARTITION 명령문을 발행 한 후, ndb_desc을 사용하면 다음과 같이 (굵은 출력 관련 부분에 의해)이 테이블의 테이터가 4 개의 파티션을 사용하여 저장되도록 된 것을 확인할 수 있습니다.

shell> ndb_desc -c 192.168.0.10 -d n ips -p
-- ips --
Version: 16777217
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 6
Number of primary keys: 1
Length of frm data: 341
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 4
TableStatus: Retrieved
-- Attributes --
id Bigint PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
country_code Char(2;latin1_swedish_ci) NOT NULL AT=FIXED ST=MEMORY
type Char(4;latin1_swedish_ci) NOT NULL AT=FIXED ST=MEMORY
ip_address Varchar(15;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
addresses Bigunsigned NULL AT=FIXED ST=MEMORY
date Bigunsigned NULL AT=FIXED ST=MEMORY

-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex

-- Per partition info --
Partition   Row count   Commit count  Frag fixed memory   Frag varsized memory
0           12981       52296         1572864             557056
1           13236       52515         1605632             557056
2           13105       13105         819200              294912
3           13093       13093         819200              294912

NDBT_ProgramExit: 0 - OK
참고

일반적으로 ALTER [ONLINE] TABLE table_name REORGANIZE PARTITION 파티션 식별자 목록 및 파티션 정의의 세트와 함께 사용하여 이미 명시 적으로 분할되어있는 테이블에 새로운 파티셔닝을 만듭니다. 이 점에서 새로운 MySQL Cluster 노드 그룹에 데이터를 재배포 여기의 사용법은 예외입니다. 이와 같이 사용하는 경우 TABLE 키워드 뒤에 테이블 이름 만 사용하고 다른 키워드와 식별자는 REORGANIZE PARTITION 다음에 계속 않습니다.

자세한 내용은 섹션 13.1.7 "ALTER TABLE 구문" 을 참조하십시오.

또한 낭비되고있는 영역이 재사용 될 수 있도록 각 테이블에 ALTER ONLINE TABLE 문 뒤에 OPTIMIZE TABLE 을 계속 지정해야합니다. INFORMATION_SCHEMA.TABLES 테이블에 대해 다음 쿼리를 사용하면 모든 NDBCLUSTER 테이블의 목록을 얻을 수 있습니다.

SELECT TABLE_SCHEMA, TABLE_NAME
    FROM INFORMATION_SCHEMA.TABLES
    WHERE ENGINE = 'NDBCLUSTER';
참고

MySQL Cluster 테이블에서는 테이블을 만드는 데 사용 된 CREATE TABLE 문 (또는 다른 스토리지 엔진에서 기존 테이블을 변환하는 데 사용 된 ALTER TABLE 문)의 ENGINE 옵션 NDB 가 사용되었는지, 또는 NDBCLUSTER 가 사용되었는지에 관계없이 INFORMATION_SCHEMA.TABLES.ENGINE 값은 항상 NDBCLUSTER 입니다.

이 문을 실행 한 후에는 다음과 같이 ALL REPORT MEMORY 의 출력 데이터 및 인덱스가 모든 데이터 노드간에 재배포 된 것을 확인할 수 있습니다.

ndb_mgm> ALL REPORT MEMORY

Node 1: Data usage is 5%(176 32K pages of total 3200)
Node 1: Index usage is 0%(76 8K pages of total 12832)
Node 2: Data usage is 5%(176 32K pages of total 3200)
Node 2: Index usage is 0%(76 8K pages of total 12832)
Node 3: Data usage is 2%(80 32K pages of total 3200)
Node 3: Index usage is 0%(51 8K pages of total 12832)
Node 4: Data usage is 2%(80 32K pages of total 3200)
Node 4: Index usage is 0%(50 8K pages of total 12832)
참고

NDBCLUSTER 테이블에 동시에 1 회 DDL 작업 만 수행 할 수 없기 때문에 각 ALTER ONLINE TABLE ... REORGANIZE PARTITION 문이 완료 될 때까지 기다린 후 다음 문을 실행해야합니다.

새로운 데이터 노드가 추가 된 후에 생성 된 NDBCLUSTER 테이블에 대해서는 ALTER ONLINE TABLE ... REORGANIZE PARTITION 명령문을 발행 할 필요가 없습니다. 이 같은 테이블에 추가 된 데이터는 모든 데이터 노드간에 자동으로 배포됩니다. 그러나 새 노드가 추가되기 전에 존재했던 NDBCLUSTER 테이블에서는 그 테이블이 ALTER ONLINE TABLE ... REORGANIZE PARTITION 을 사용하여 재구성 될 때까지 기존 데이터도 새 데이터도 새로운 노드 를 사용하여 배포되지 않습니다.

롤링 재시작을 사용하지 않는 대체 절차 클러스터를 처음 시작할 때 여분의 데이터 노드를 구성하지만, 그들을 시작하지 않음으로써 롤링 다시 시작의 필요성을 피할 수 있습니다. 예전처럼 먼저 하나의 노드 그룹 내의 2 개의 데이터 노드 (노드 1과 2)에서 시작하여 나중에 노드 3과 4로 구성된 두 번째 노드 그룹을 추가하여 클러스터를 4 하나의 데이터 노드까지 확장한다고 가정합니다.

[ndbd default]
DataMemory = 100M
IndexMemory = 100M
NoOfReplicas = 2
DataDir = /usr/local/mysql/var/mysql-cluster

[ndbd]
Id = 1
HostName = 192.168.0.1

[ndbd]
Id = 2
HostName = 192.168.0.2

[ndbd]
Id = 3
HostName = 192.168.0.3
Nodegroup = 65536   

[ndbd]
Id = 4
HostName = 192.168.0.4
Nodegroup = 65536   

[mgm]
HostName = 192.168.0.10
Id = 10

[api]
Id=20
HostName = 192.168.0.20

[api]
Id=21
HostName = 192.168.0.21

나중에 온라인에 데이터 노드 (노드 3과 4)를 NodeGroup = 65536 로 구성 할 수 있습니다. 이 경우 노드 1과 2는 각각 다음과 같이 시작할 수 있습니다.

shell> ndbd -c 192.168.0.10 --initial

NodeGroup = 65536 로 구성된 데이터 노드는 StartNoNodeGroupTimeout 데이터 노드 구성 매개 변수의 설정에 의해 지정된 시간 동안 대기 한 후 --nowait-nodes=3,4 를 사용하여 노드 1과 2를 시작했는지 같이 관리 서버에 의해 처리됩니다. 기본적으로 이것은 15 초 (15000 밀리 초)입니다.

참고

StartNoNodegroupTimeout 는 클러스터의 모든 데이터 노드에서 동일해야합니다. 따라서 이것은 개별 데이터 노드가 아니라 항상 config.ini 파일의 [ndbd default] 섹션에 설정하도록하십시오.

두 번째 노드 그룹을 추가 할 준비가되면 다음 추가 단계를 수행 할 필요가있을뿐입니다.

  1. 데이터 노드 3과 4를 시작하고 새 노드마다 데이터 노드의 프로세스를 한 번씩 호출합니다.

    shell> ndbd -c 192.168.0.10 --initial
    
  2. 관리 클라이언트에서 적절한 CREATE NODEGROUP 명령을 실행합니다.

    ndb_mgm> CREATE NODEGROUP 3,4
    
  3. mysql 클라이언트에서 기존 NDBCLUSTER 테이블마다 ALTER ONLINE TABLE ... REORGANIZE PARTITION 및 OPTIMIZE TABLE 문을 발행합니다. (이 섹션의 다른 곳에서 언급했듯이, 이것이 완료 될 때까지 기존의 MySQL Cluster 테이블은 데이터 배포에 새로운 노드를 사용할 수 없습니다.)


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved