Windows용 MySQL 클러스터를 어떻게 설치하고 구성합니까?
적용 대상:
Window64비트 운영 체제
저자:
Carthik Annayan
문제:
Windows용 MySQL 클러스터를 어떻게 설치하고 구성합니까?
솔루션:
MySQL 클러스터를 구현하는 방법은 무엇입니까? 이제 MySQL 클러스터를 구현하는 단계에 대해 설명합니다. MySQL 클러스터의 일반적인 HA 환경에서는 MySQL 클러스터의 각 계층에서 HA를 구축하기 위해 최소 6 개의 서버가 필요합니다. MySQL 클러스터 배포의 가장 좋은 점은 쉽고 많은 전제 조건이 필요하지 않다는 것입니다. 서버 몇 대, 운영 체제, 스위치 몇 개만 있으면 됩니다.
노드의 이름은 다음과 같습니다.-
서버 노드:-Servernode1.example.com 192.168.0.10, Servernode2.example.com 192.168.0.20
데이터 노드:-Datanode1.example.com 192.168.0.30, Datanode2.example.com 192.168.0.40
관리 서버 노드:-Mgmntnode1.example.com 192.168.0.50, Mgmntnode2.example.com 192.168.0.60
네트워킹 필수 구성 요소:-
- 전용 >= 1GB/s 네트워킹
- 네트워크 장애 방지(NIC x 2, 본딩)
- 클러스터 통신에 전용 네트워크 사용
- 관리 노드에 대한 보안 계층 없음(원격 종료 허용 ...)
- 클러스터 노드 및 관리자의 포트 1186 액세스만 활성화합니다.
스토리지 계층(데이터 노드):-
- 하나의 데이터 노드는 8개의 코어를 사용할 수 있습니다.
- 피난피 (CPU): 2 x 4코어
- 램: 필요한 만큼 10GB 데이터 세트에는 20GB의 RAM이 필요합니다(중복성으로 인해).
- 그러면 각 노드에는 2 x 10/#of 데이터 노드가 필요합니다. (데이터 노드 2개→10GB RAM → 16GB RAM 양호)
- 디스크 공간: 10xDataMemory + BACKUP + 테이블스페이스용 공간(디스크 데이터 테이블인 경우)
SQL 계층(MySQL 서버):-
- 피난피 (CPU): 2 – 16코어
- RAM 그다지 중요하지 않음 – 4GB 충분(연결 및 버퍼에 따라 다름)
Mgmntnode2 노드는 선택 사항입니다. 관리 노드는 모든 데이터 노드와 서버 노드가 관리되는 중앙 콘솔이므로 관리 노드에서도 HA를 제공하는 것이 중요합니다. 그러나 이 구현에서는 하나의 관리 노드와 MySQL Cluster 7.2 구현만 고려할 것입니다.
서버가 준비되면 첫 번째 단계는 다음 위치(
http://www.mysql.com/downloads/cluster ). 요구 사항에 가장 적합한 번들을 다운로드하십시오. msi 또는 zip 형식입니다. 이 구현에서는 zip 형식을 사용했습니다. MySQL 클러스터(OS, 아키텍처)의 지원 상태는 다음에서 확인할 수 있습니다.
MySQL Support Matrix를 참조하십시오. 다음 단계는 다운로드한 콘텐츠의 압축을 푸는 것입니다.
Zip 아카이브의 내용을 서버 노드의 "c:\mysql\cluster"에 추출합니다. 각 노드에서 이 단계를 수행하거나 zip 파일을 한 노드에 다운로드하고 내용을 다른 노드에 복사합니다.
명령줄에서 실행 파일에 액세스하려면 PATH 환경 변수에 "c:\mysql\cluster\bin"을 추가합니다.
이제 관리 노드(192.168.0.50)의 "c:\mysql\cluster" 폴더 아래에 config.ini 파일을 생성합니다.
예제 config.ini 파일
config.ini
[ndbd default]
noofreplicas=2
DataDir=c:/mysql/bin/cluster-data # 각 데이터 노드의 파일에
대한 디렉토리 DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
hostname=192.168.0.50
NodeId = 1
DataDir=c:/mysql/bin/cluster-logs 관리 노드의 #Directory 로그 파일
[ndbd] # 데이터 노드 1
호스트 이름 = 192.168.0.30
NodeID = 2
[ndbd] # 데이터 노드 2
호스트 이름 = 192.168.0.40
NodeId = 3
[mysqld] # 서버 노드 1
호스트 이름 = 192.168.0.10
NodeID = 101
[mysqld] # 서버 노드 2
hostname=192.168.0.20
NodeId=102
각 데이터 노드의 My.ïni 파일에는 관리 노드의 IP 주소인 연결 문자열에 대한 정보만 있습니다. my.cnf 파일은 "c : \ mysql \ my.ini"my.ini
(데이터 노드 1)
[mysql_cluster]
Ndb-connectstring = 192.168.16.50
에 있습니다. DataNode2에도 동일한 내용을 배치합니다.
마지막으로 ServerNode의 "c:\mysql\my.ini"에 있는 MySQL Server Node의 my.ini 내용입니다.
[mysqld]
Ndb-nodeid=101 Ndbcluster
Ndb-connectstring=192.168.16.50:1186 # 관리 서버
포트 위치=3306
Default-storage-engine=ndbcluster
구성 파일이 준비되면 관리 노드, 데이터 노드, SQL Server 노드 순서로 노드를 시작해야 합니다.
다음 각 작업을 수행하는 명령이 아래에 표시되어 있습니다.
관리 노드(192.168.0.50):-
ndb_mgmd -f / var / lib / mysql-cluster / config.ini --configdir = / var / lib / mysql-cluster / --initial
데이터 노드(192.168.0.30, 192.168.0.40):-
ndbd -c <관리 노드 IP 주소>: 1186 – 초기
이 명령은 각 데이터 노드에서 실행해야 합니다.
SQL Server 노드(192.168.0.10, 192.168.0.20):-
C : \ mysql \ bin> mysqld -콘솔
이 명령은 각 MySQL Server 노드에서 실행해야 합니다.
마지막으로, 클러스터가 가동되어 실행 중인지 확인하려면 관리 서버의 명령줄에서 아래 명령을 실행합니다. ndb_mgmd 실행 파일은 "c : \ mysql \ bin"
디렉토리
ndb_mgmd > 있습니다.