레이블이 환경구축인 게시물을 표시합니다. 모든 게시물 표시
레이블이 환경구축인 게시물을 표시합니다. 모든 게시물 표시

2009년 6월 10일 수요일

MySQL Cluster의 환경구축 2

○MySQL Cluster용 설정파일 config.ini의 작성

MySQL Cluster에서는 설정파일 my.cnf이외에 MySQL Cluster용의 설정파일을 별도 작성할 필요가 있다.

설정파일의 기술 예는 다음과 같다. Management Node, Data Node, SQL/API Node 전 노드의 설정을 한다.

>MySQL Cluster설정 파일 config.ini
[NDBD DEFAULT]
NoOfReplicas=2

[NDB_MGMD]
HostName=192.168.0.1

[NDBD]
Id=2
HostName=192.168.0.2

[NDBD]
Id=3
HostName=192.168.0.3

[MYSQLD]
Id=4

[MySQLD]
Id=5

Management Node의 설정항목은 [NDB_MGMD], Data Node의 설정항목은 [NDBD], SQL Node의 설정항목은 [MYSQLD]에 기술한다.

Data Node나 SQL Node는 거의 예외없이 2대이상 셋업하기 때문에 설정항목에 따라서 중복하는 부분도 나오게 된다.

그런 항목은 [NDBD DEFAULT]처럼 [노드타입 DEFAULT]라는 엔트리를 준비하고 그곳에 기술하는 것으로
해당하는 모든 노드의 설정항목이 맞추어지게 된다.

MaxNoOfReplicas에서는 replication수를 나타내고 1~4범위에서 설정가능하다.
NoOfReplicas가 1이면 replication은 수행되지 않게 된다.

2이면 2대, 3이면 3대의 Data Node로 동일한 레코드가 복제된다.

갯수가 많을 수록 가용성은 높아지지만 replication 오버헤드는 증가한다.
2또는 3으로 설정하는 것이 일반적이다.

NoOfReplicas의 값은 어느 Data Node에서도 같은 설정을 필요로 하기 때문에 [NDBB DEFAULT]란에 기술하고 있다.

이 란에 기술하는 것으로 각 [NDBD]엔트리에 기술하지 않아도 디폴트값으로 반영된다.

Data Node의 파라미터 종류는 이외에도 많이 있다.

데이터 영역의 메모리크기를 결정하는 DataMemory, 인덱스의 메모리크기를 결정하는 IndexMemory, REDO로그 파일의 크기를 결정하는 MaxNoOfFragmentLogFiles등 다방면에 걸쳐져 있다.

설정파일 config.ini는 Management Node의 기동시에 읽어들일 필요가 있다.

이렇게 함으로 Management Node는 전부 몇개의 노드가 있는지등의 정보를 파악할 수 있게 된다.

파일명은 뭐든지 괜찮지만 config.ini라는 이름이 관례적으로 쓰인다.

my.cnf에 따른 mysqld의 파라미터 지정은 별도 설정할 필요가 있다.

my.cnf에서는 MySQL특유의 파라미터로서 다음의 2개가 있어 이것들을 지정할 필요가 있다.

>MySQL Cluster특유 파라미터
ndbcluster
ndb_connectstring="Management Node의 호스트명과 포트 번호"





2009년 6월 9일 화요일

MySQL Cluster의 환경구축

MySQL Cluster의 특징에 대해서 개념 레벨정도 이해한 수준에서 다음은 실제로 MySQL Cluster환경을 셋업해보자.

○서버의 구성 결정
여기에서는 Management Node 1대, SQL Node 2대, Data Node 2대 구성을 해보는 걸로 하자.

실제로 어플리케이션은 노드에 걸리는 부하와 성능을 감안해서 SQL Node의 수를 Data Node 수배정보(Data Node수가 2대이면 4~8대정도)로 하는 것이 일반적이라고 한다.

이것은 어디까지나 대충짐작의 이야기 임으로 실제로 대수를 결정할 때에는 사전에 벤치마킹을 해보는 것이 좋을 것이다.

또 Data Node는 체크포인트에 의한 디스크 저장이 있음으로 디스크 저장성능이 나쁜 RAID5는 피하는 게 좋을 듯 싶다.

RAID1이던지 RAID1+0가 무난하다.

○MySQL Cluster 인스톨
MySQL 다운로드 사이트에서 MySQL본체의 소스코드, 또는 max edition 바이너리를 다운로드 한다.

max edition 바이너리의 경우 인스톨 방법은 standard edition하고 다르지 않기 때문에 생략한다.

소스코드의 경우는 configure옵션에 --with-ndbcluster를 추가지정하는 것으로 MySQL Cluster가 설치된다.

디폴트 설정만으로는 설치되지 않으므로 조심해야한다.

MySQL Cluster 라이센스를 구입한 경우에는 전용사이트에서 안정버전을 다운 받을 수 있다.

인스톨이 끝나면 bin디렉토리 밑(소스코드에서 컴파일 한 경우에는 디폴트로 libexec밑)에

Management Node용 프로그램인 ndb_mgmd, Data Node용 프로그램인 ndbd, NDB API탑재 MySQL 본체 프로세스인 mysqld을 확인할 수 있을 것이다.