18.2.4 MySQL Cluster의 초기 구성
이 섹션에서는 구성 파일 작성 및 편집하여 설치된 MySQL Cluster의 수동 구성에 대해 설명합니다.
MySQL Cluster (NDB 버전 7.3 이상)에는 다른 응용 프로그램에서 텍스트 파일을 편집하지 않고 구성하는 데 사용할 수있는 GUI 프로그램도 준비되어 있습니다. 자세한 내용은 섹션 18.2.1 "MySQL Cluster Auto-Installer" 를 참조하십시오.
여기에서 사용하는 4 노드 및 4 호스트의 MySQL Cluster ( 클러스터 노드와 호스트 컴퓨터 를 참조하십시오)에서 4 개 (노드 호스트별로 하나씩) 구성 파일을 작성해야합니다.
각 데이터 노드 또는 SQL 노드는
my.cnf
파일이 필요합니다. 이 파일은 관리 노드가 배치 된 노드를 지정하는 연결 문자열이 호스트 (데이터 노드를 호스팅하는 컴퓨터)의 MySQL 서버에NDBCLUSTER
스토리지 엔진을 사용하도록 지시 행 2 개의 정보를 제공합니다.연결 문자열의 자세한 내용은 섹션 18.3.2.3 "MySQL Cluster의 연결 문자열" 을 참조하십시오.
관리 노드는
config.ini
파일이 필요합니다. 이 파일은 유지하는 복제의 수, 각 데이터 노드의 데이터 및 인덱스에 할당 할 메모리의 양, 데이터 노드 위치, 각 데이터 노드의 데이터를 저장하는 디스크 위치 및 SQL 노드의 위치를 알려줍니다 .
데이터 노드와 SQL 노드의 구성 데이터 노드에 필요한 my.cnf
파일은 매우 간단하다. 이 구성 파일은 /etc
디렉토리에 배치되어 텍스트 편집기를 사용하여 편집 할 수 있습니다. (이 파일이 존재하지 않는 경우 작성하십시오.) 예 :
shell> vi /etc/my.cnf
여기에서는 vi를 사용하여이 파일을 만들지 만 어떤 텍스트 편집기에서도 동일한 방식으로 작동합니다.
이 설정 예 각 데이터 노드 및 SQL 노드는 my.cnf
이있게됩니다.
[mysqld] # Options for mysqld process: ndbcluster # run NDB storage engine [mysql_cluster] # Options for MySQL Cluster processes: ndb-connectstring=192.168.0.10 # location of management server
위의 정보를 입력 한 후 파일을 저장하고 텍스트 편집기를 종료합니다. 이것을 데이터 노드 "A", 데이터 노드 "B"및 SQL 노드를 호스팅하는 컴퓨터에서 실행합니다.
위의 my.cnf
파일의 [mysqld]
및 [mysql_cluster]
섹션에 ndbcluster
과 ndb-connectstring
매개 변수를 사용하여 mysqld 프로세스를 시작한 후 클러스터가 실제로 시작하지 않으면 CREATE TABLE
또는 ALTER TABLE
문을 실행 수 없습니다. 그렇지 않은 경우 이러한 문은 오류와 함께 실패합니다. 이것은 의도적 인 것입니다.
관리 노드 구성 관리 노드 구성에서는 첫 번째 단계로 구성 파일을 저장할 디렉터리를 생성 한 후 구성 파일 자체를 만듭니다. 예 ( root
로 실행합니다) :
shell>mkdir /var/lib/mysql-cluster
shell>cd /var/lib/mysql-cluster
shell>vi config.ini
여기에서 사용하는 전형적인 설정은 config.ini
파일은 다음과 같습니다.
[ndbd default] # Options affecting ndbd processes on all data nodes: NoOfReplicas=2 # Number of replicas DataMemory=80M # How much memory to allocate for data storage IndexMemory=18M # How much memory to allocate for index storage # For DataMemory and IndexMemory, we have used the # default values. Since the "world" database takes up # only about 500KB, this should be more than enough for # this example Cluster setup. [tcp default] # TCP/IP options: portnumber=2202 # This the default; however, you can use any # port that is free for all the hosts in the cluster # Note: It is recommended that you do not specify the port # number at all and simply allow the default value to be used # instead [ndb_mgmd] # Management process options: hostname=192.168.0.10 # Hostname or IP address of MGM node datadir=/var/lib/mysql-cluster # Directory for MGM node log files [ndbd] # Options for data node "A": # (one [ndbd] section per data node) hostname=192.168.0.30 # Hostname or IP address datadir=/usr/local/mysql/data # Directory for this data node's data files [ndbd] # Options for data node "B": hostname=192.168.0.40 # Hostname or IP address datadir=/usr/local/mysql/data # Directory for this data node's data files [mysqld] # SQL node options: hostname=192.168.0.20 # Hostname or IP address # (additional mysqld connections can be # specified for this node for various # purposes such as running ndb_restore)
world
데이터베이스는 http://dev.mysql.com/doc/ 에서 다운로드 할 수 있습니다 ( "Examples"아래에 있습니다).
모든 구성 파일을 작성하고 최소한의 옵션을 지정하면 클러스터 시작 및 모든 프로세스 확인에 진행 준비합니다. 이렇게하는 방법에 대한 자세한 내용은 섹션 18.2.5 "MySQL Cluster의 초기 시작" 에서 설명합니다.
사용 가능한 MySQL Cluster 구성 매개 변수와 그 사용 방법의 자세한 내용은 섹션 18.3.2 "MySQL Cluster 구성 파일" 과 섹션 18.3 "MySQL Cluster 구성" 을 참조하십시오. MySQL Cluster의 백업 작성에 대한 구성 내용은 섹션 18.5.3.3 "MySQL Cluster 백업 구성" 을 참조하십시오.
클러스터 관리 노드의 기본 포트는 1186입니다. 데이터 노드의 기본 포트는 2202입니다. 그러나 클러스터에서는 이미 개방 된 포트에서 데이터 노드의 포트를 자동으로 할당 할 수 있습니다.