설치 방법 및 CentOS는에 MySQL 클러스터를 구성하는 방법 7

설치 방법 및 CentOS는에 MySQL 클러스터를 구성하는 방법 7

MySQL 클러스터는 높은 가용성과 낮은 지연 시간과 MySQL의 호환 데이터베이스를 제공하도록 설계되었습니다. MySQL의 클러스터 기술은 NDB (네트워크 데이터베이스)와 NDBCLUSTER 스토리지 엔진을 통해 구현 및 MySQL 데이터베이스 시스템에 대한 비공유 클러스터링 및 자동 샤딩을 제공합니다. 공유 - 아무것도 아키텍처에서, 각 노드는 자신의 메모리와 디스크가, NFS와 같은 공유 스토리지의 사용, SAN은 권장 및 지원되지 않습니다.

MySQL의 클러스터를 구현하려면, 우리는 노드의 세 가지 유형을 설치해야. 각 노드 유형은 그것의 자신의 서버에 설치됩니다. 구성 요소는 다음과 같습니다

1. 관리 노드 - NDB_MGMD / MGM
클러스터 관리 서버는 클러스터의 다른 노드를 관리하는 데 사용됩니다. 우리는 만들고 새로운 노드를 구성 할 수 있습니다, 재시작, 지우다, 관리 노드에서 클러스터 또는 백업 노드.
2. 데이터 노드 - NDBD / NDB
노드 간의 동기화 및 데이터 복제의 과정이 일어나는 곳은 층.
3. SQL 노드 - mysqld를 / API
응용 프로그램에서 사용하는 인터페이스 서버는 데이터베이스 클러스터에 연결.

이 튜토리얼에서, 나는 당신에 CentOS와 MySQL 클러스터의 설치 및 구성 물마루 안내 7. 우리는 관리 노드를 구성합니다, 두 개의 데이터 노드, 두 개의 SQL 노드.

전제 조건

  • OS는 CentOS는 인 7 - 64비트.
  • 5 CentOS는 서버 또는 가상 머신. 아래 그림과 같이 I는 호스트 이름과 IP 주소를 사용합니다 :
  • 관리 노드
    DB1 = 192.168.1.120
  • 데이터 노드
    DB2 = 192.168.1.121
    DB3 = 192.168.1.122
  • SQL 노드
    DB4 = 192.168.1.123
    DB5 = 192.168.1.124

단계 1 - 설정 관리 노드

The first step is to create the "Management Node" with CentOS 7 DB1 및 IP 192.168.1.120. 반드시 루트 사용자로 DB1 서버에 로그인되어 있는지 확인.

에이. MySQL의 클러스터 소프트웨어를 다운로드

I은 wget과 MySQL의 사이트에서 다운로드 할 수 있습니다. I'm using the "Red Hat Enterprise Linux 7 / 오라클 리눅스 7 (86, 64-비트), RPM Bundle " here which is compatible with CentOS 7. 그런 다음 tar 파일의 압축을 풉니 다.

CD ~
wget을 http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
MySQL의 클러스터-GPL-7.4.10-1.el7.x86_64.rpm-bundle.tar -xvf 타르

MySQL 클러스터 패키지 RPM을 설치.

비. 설치 패키지를 제거

당신은 MySQL 클러스터의 rpm 패키지를 설치하기 전에, 당신은 설치해야 펄 - 데이터 - 덤퍼 그는 MySQL을 클러스터 서버가 필요합니다. 그리고 당신은 제거해야 mariadb-libs와 우리는 MySQL 클러스터를 설치하기 전에.

냠 설치 -y 펄 - 데이터 - 덤퍼
냠 mariadb-libs가 제거 -y

기음. MySQL 클러스터를 설치

이들의 rpm 명령으로 MySQL 클러스터 패키지를 설치합니다 :

CD ~
RPM -Uvh MySQL을 클러스터 클라이언트 - GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 서버-GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 공유-GPL-7.4.10-1.el7.x86_64.rpm

오류가 있는지 없는지 확인.

디. MySQL 클러스터 구성

구성 파일에 대한 새로운 디렉토리를 생성. I will use the "/var/lib/mysql-cluster" directory.

에서 mkdir -p / var / lib / mysql-cluster이며

Then create new configuration file for the cluster management named "config.ini 파일" in the mysql-cluster directory.

CD / var / lib / mysql-cluster이며
이 config.ini 파일

아래의 구성을 붙여 넣습니다 :

[ndb_mgmd 기본]
# MGM 노드 로그 파일에 대한 디렉토리
DataDir가 = / var / lib / mysql-cluster이며
[ndb_mgmd]
#Management 노드 DB1
호스트 이름 = 192.168.1.120
[NDBD 기본]
NoOfReplicas의 2 =      # 복제본의 수
DataMemory가 = 256M     # 데이터 저장을위한 메모리 할당
IndexMemory는 = 128M    # Memory allocate for index storage
#Directory for Data Node
DataDir=/var/lib/mysql-cluster
[ndbd]
#Data Node db2
HostName=192.168.1.121
[ndbd]
#Data Node db3
HostName=192.168.1.122
[mysqld]
#SQL Node db4
HostName=192.168.1.123
[mysqld]
#SQL Node db5
HostName=192.168.1.124

파일을 저장하고 종료.

이자형. 관리 노드를 시작합니다

다음 아래의 명령을 사용하여 관리 노드를 시작합니다 :

ndb_mgmd --config 파일 = / var / lib / mysql-cluster이며 / config.ini 파일

결과는 다음과 유사해야합니다 :

MySQL 클러스터 관리 서버 mysql을 - 5.6.28 NDB-7.4.10
2016-03-22 19: 26 : 08 [MgmtSrvr] INFO -- 기본 설정 디렉토리는 'USR / MySQL의 클러스터를 /'존재하지 않는. 그것을 만들려고 ...
2016-03-22 19: 26 : 08 [MgmtSrvr] INFO -- 성공적으로 생성 된 config 디렉토리

관리 노드가 시작됩니다, now you can use command "ndb_mgm" to monitor the node:

ndb_mgm
보여 주다

클러스터 상태 확인.

MySQL의-6.6 및 NDB-7.4 : 당신은 관리 노드가 시작되었습니다 볼 수 있습니다.

단계 2 - 설정은 MySQL 클러스터 데이터 노드

우리는 사용합니다 2 데이터 노드에 대한 CentOS는 서버.

  1. DB2 = 192.168.1.121
  2. DB3 = 192.168.1.122

에이. 루트 사용자로 로그인하여 MySQL 클러스터 소프트웨어를 다운로드

SSH를 사용한 DB2 서버에 로그인 :

SSH [이메일 보호]

그런 다음 MySQL 클러스터 패키지를 다운로드하여 압축을 풉니 다

CD ~
wget을 http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
MySQL의 클러스터-GPL-7.4.10-1.el7.x86_64.rpm-bundle.tar -xvf 타르

비. 설치 패키지를 제거

펄 - 데이터 - 덤퍼 설치하고 mariadb-libs와 제거 :

냠 설치 -y 펄 - 데이터 - 덤퍼
냠 mariadb-libs가 제거 -y

기음. MySQL 클러스터를 설치

이제 우리는 다음의 rpm 명령으로 데이터 노드에 대한 MySQL 클러스터 패키지를 설치할 수 있습니다 :

CD ~
RPM -Uvh MySQL을 클러스터 클라이언트 - GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 서버-GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 공유-GPL-7.4.10-1.el7.x86_64.rpm

오류가 있는지 없는지 확인.

디. 구성 데이터 노드

vi 편집기로 / etc 디렉토리에 새 구성 파일을 만듭니다

우리는 것들을 /etc/my.cnf

붙여 넣기 구성 아래 :

[mysqld를]
NDBCLUSTER
NDB - 커넥트 = 192.168.1.120     # 관리 노드의 IP 주소
[mysql_cluster]
NDB - 커넥트 = 192.168.1.120     # 관리 노드의 IP 주소

파일을 저장하고 종료.

Then create the new directory for the database data that we defined in the management node config file "config.ini".

에서 mkdir -p / var / lib / mysql-cluster이며

이제 데이터 노드 / ndbd를 시작 :

NDBD

결과 :

2016-03-22 19: 35 : 56 [NDBD] INFO -- 천사는 '192.168.1.120:1186'에 연결
2016-03-22 19: 35 : 56 [NDBD] INFO -- 천사 할당 nodeid가 : 2

MySQL의 클러스터 노드가 온라인.

데이터 노드 DB2는 관리 노드 IP에 연결 192.168.1.120.

이자형. 단계 2.A를 다시 실행 - 2.DB3 서버 D.

우리가 가지고 2 데이터 노드, 단계를 다시 실행하십시오 2.A - 2.우리의 제 2 데이터 노드 D.

단계 3 - 설치 SQL 노드

이 단계는 데이터베이스 응용 프로그램 액세스를 제공하는 SQL 노드에 대한 설정이 포함되어 있습니다. 우리는 사용 2 는 SQL 노드에 대한 CentOS는 서버 :

  1. DB4 = 192.168.1.123
  2. DB5 = 192.168.1.124

에이. 로그인과 MySQL 클러스터를 다운로드

루트 사용자로 DB4 서버에 로그인 :

SSH [이메일 보호]

그리고 MySQL 클러스터 패키지를 다운로드 :

CD ~
wget을 http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
MySQL의 클러스터-GPL-7.4.10-1.el7.x86_64.rpm-bundle.tar -xvf 타르

비. 설치 패키지를 제거

펄 - 데이터 - 덤퍼를 설치하는 mariadb-libs와 제거 MySQL 클러스터와 충돌.

냠 설치 -y 펄 - 데이터 - 덤퍼
냠 mariadb-libs가 제거 -y

기음. MySQL 클러스터를 설치

MySQL의 클러스터 서버를 설치, 클라이언트와 RPM과 공유 패키지는 아래의 명령 :

CD ~
RPM -Uvh MySQL을 클러스터 클라이언트 - GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 서버-GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 공유-GPL-7.4.10-1.el7.x86_64.rpm

디. 은 SQL 노드 구성

/ etc 디렉토리에 새로운 my.cnf 파일을 만듭니다

우리는 것들을 /etc/my.cnf

아래에 붙여 넣기 구성 :

[mysqld를]
NDBCLUSTER
NDB - 커넥트 = 192.168.1.120       # 서버 관리 노드 IP 주소
default_storage_engine = NDBCLUSTER     # 기본 스토리지 엔진은 MySQL이 사용 정의합니다
[mysql_cluster]
NDB - 커넥트 = 192.168.1.120       # 서버 관리 노드 IP 주소

파일을 저장하고 편집기를 종료.

MySQL 서버를 시작하여 SQL 노드를 시작합니다

서비스 MySQL의 시작

이자형. 단계 3.A를 다시 실행 - 3.DB5 서버 D.

단계를 다시 실행하십시오 3.A - 3.제 SQL 서버 D (DB5).

단계 4 - 클러스터 모니터

클러스터의 상태를 확인하려면, 우리는 관리 노드 DB1에 로그인해야.

SSH [이메일 보호]

우리는 클러스터 상태를 확인합니다 ndb_mgm 명령을 사용할 수 있습니다 :

ndb_mgm
ndb_mgm> 보여 주다

NDB의 clsuter 상태를 확인.

또 다른 유용한 명령은 다음과 같습니다

ndb_mgm -e "all status"
ndb_mgm -e "all report memory"

단계 5 - 클러스터 테스트

우리의 새로운 MySQL 클러스터에서 테스트를 수행하려면, 우리는 SQL 노드 DB4 또는 DB5 서버에 로그인해야.

DB4 서버에 로그인 :

SSH [이메일 보호]

Change the default MySQL password that stored in ".mysql_secret" file in root directory:

CD ~
고양이 .mysql_secret

이 내 샘플입니다 :

# 화 월에서 루트 사용자에 대해 설정 한 임의의 암호 22 19: 44 : 07 2016 (현지 시간) qna3AwbJMuOnw23T

이제 다음 명령을 사용하여 암호를 변경 :

mysql_secure_installation

기존의 MySQL의 암호를 입력 한 다음 새 하나를 입력, 를 눌러 모든 확인을 위해 입력.

모두 수행 할 경우, 당신은 당신의 암호를 사용하여 MySQL의 쉘에 로그인 할 수 있습니다 :

MySQL의 -u 루트 -p

당신은 로그인 후, create a new root user with host "@", 그래서 우리는 외부에서 MySQL을 액세스 할 수 있습니다.

USER '루트'@ '%' 'aqwe123'로 식별을 만들;

바꾸다 aqwe123 with your own secure password! Now you can see the new root user with host "@" on the MySQL user list:

사용자 선택, 숙주, mysql 데이터베이스에서 user 암호가;

그리고 새로운 루트 사용자가 읽기 및 원격 노드에서 쓰기 권한을 부여합니다

ON ALL 권한을 부여 *.* '루트'@ '%'를 암호로 식별 '* 94CC7BF027327993D738E11 (암호화 된 암호)'GRANT OPTION을 TO;

부여 priveliges.

이제 DB4 서버에서 새 데이터베이스를 만들려고하면 DB5의 데이터베이스를 너무 볼 수 있습니다.

이 클러스터의 데이터 복제를 테스트하기위한 단지 샘플 결과입니다.

모든 노드는 온라인.

MySQL의 클러스터에 CentOS에 성공적으로 설치를하고있다 7 와 5 서버 노드.

결론

MySQL 클러스터는 MySQL 데이터베이스에 대한 고 가용성 및 이중화를 제공하는 기술입니다. 그것은 스토리지 엔진으로 NDB 또는 NDBCLUSTER를 사용하여 MySQL 데이터베이스에 대한 비공유 클러스터링 및 자동 샤딩을 제공합니다. 클러스터를 구현하려면, 우리는 필요 3 구성 요소 : 관리 노드 (MGM), 데이터 노드 (NDB) 및 SQL 노드 (API). 각 노드는 자신의 메모리와 디스크가 있어야합니다. NFS와 같은 네트워크 스토리지를 사용하지 않는 것이 좋습니다. 에 CentOS에 MySQL 클러스터를 설치하려면 7 최소한의 시스템, 우리는 mariadb-libs와 패키지를 제거해야, mariadb-libs와 MySQL의 클러스터 서버와 충돌 당신은 펄 - 데이터 - 덤퍼 패키지를 설치해야, 그것은 MySQL을 클러스터 서버가 필요한. MySQL의 클러스터를 설치하고 여러 CentOS는 서버에서 구성이 용이.

관련 포스트

회신을 남겨주

이 사이트는 스팸을 줄이기 위해 Akismet 플러그를 사용. 귀하의 코멘트 데이터가 처리되는 방법 알아보기.