문서번호 : 11-233771
Cluster 구성도
용어 리스트
•
MA : Master Aggregator
•
CA : Child Aggregator
•
LF : Leaf node
•
Node : 클러스터를 구성하는 요소 - MA, CA, LF
•
Cluster : MA, CA, LF 노드들을 연결하여 형성한 Database 구성 형태
•
Host : MA, CA, LF 각 노드 서버의 IP주소
1) 클러스터의 배포 메인 호스트(localhost) 등록 : 마스터(MA) 서버 호스트 등록
아래 절차는 설치를 진행하는 사용자에게 sudo 권한이 부여되었을 때 정상 동작합니다.
만약, sudo 권한이 없을 경우 --skip-auto-config 옵션을 추가하여 실행하면 됩니다.
단, 다음 설정이 자동으로 되지 않으므로, [소프트웨어 권장 사항]에서의 다음 설정을 참조하여 직접 적용하여야 합니다.
- LINUX VM 설정
- LINUX ulimit 설정
- THP(Transparent Huge Pages) 비활성화
# MA host 등록
sdb-toolbox-config register-host --yes --localhost --host <MA_IP>
# example :
sdb-toolbox-config register-host --yes --localhost --host 10.41.227.211
Toolbox is about to register the following host:
· Host: 10.41.227.211
· Localhost: true
✓ Successfully registered host 10.41.227.211
+---------------+------------+-------------+---------------+
| Host | Local Host | SSH address | Identity File |
+---------------+------------+-------------+---------------+
| 10.41.227.211 | Yes | | |
+---------------+------------+-------------+---------------+
## (주의) tarball 설치인 경우 --tar-install-dir 옵션 추가
sdb-toolbox-config register-host --yes --localhost --host <MA_IP> --tar-install-dir ~/memsql
Bash
복사
2) 클러스터의 일반 호스트 등록 : CA 노드와 LF 노드 서버 호스트 등록
아래 절차는 설치를 진행하는 사용자에게 sudo 권한이 부여되었을 때 정상 동작합니다.
만약, sudo 권한이 없을 경우 --skip-auto-config 옵션을 추가하여 실행하면 됩니다.
단, 다음 설정이 자동으로 되지 않으므로, [소프트웨어 권장 사항]에서의 다음 설정을 참고하여 직접 적용하여야 합니다.
- LINUX VM 설정
- LINUX ulimit 설정
- THP(Transparent Huge Pages) 비활성화
# CA host 등록
sdb-toolbox-config register-host --yes --host <CA_IP>
# LF host 등록
sdb-toolbox-config register-host --yes --host <LF1_IP>
sdb-toolbox-config register-host --yes --host <LF2_IP>
sdb-toolbox-config register-host --yes --host <LF3_IP>
sdb-toolbox-config register-host --yes --host <LF4_IP>
… 출력 생략 …
# example :
sdb-toolbox-config register-host --yes --host 10.41.155.54
Toolbox is about to register the following host:
· Host: 10.41.155.54
· Localhost: false
✓ Successfully registered host 10.41.155.54
+--------------+------------+--------------+---------------+
| Host | Local Host | SSH address | Identity File |
+--------------+------------+--------------+---------------+
| 10.41.155.54 | No | 10.41.155.54 | |
+--------------+------------+--------------+---------------+
## 참고, 등록하려는 호스트가 동일한 ssh host key를 사용하는 경우에 host들이 동일 하지 않다면 --allow-duplicate-host-fingerprints 옵션 추가후 host 등록
sdb-toolbox-config register-host --yes --host 10.41.155.54 --allow-duplicate-host-fingerprints
## (주의) tarball 설치인 경우 --tar-install-dir 옵션 추가
sdb-toolbox-config register-host --yes --host <CA_IP> --tar-install-dir ~/memsql
sdb-toolbox-config register-host --yes --host <LF1_IP> --tar-install-dir ~/memsql
sdb-toolbox-config register-host --yes --host <LF2_IP> --tar-install-dir ~/memsql
sdb-toolbox-config register-host --yes --host <LF3_IP> --tar-install-dir ~/memsql
sdb-toolbox-config register-host --yes --host <LF4_IP> --tar-install-dir ~/memsql
Bash
복사
CA를 구성하고, MA의 장애를 대비하여 미리 CA에도 MA와 동일하게 설정할 수 있습니다. (단, 자신의 호스트에만 --localhost 옵션 사용)
3) 클러스터의 모든 호스트 보기
sdb-toolbox-config list-hosts
+---------------+------------+---------------+---------------+
| Host | Local Host | SSH address | Identity File |
+---------------+------------+---------------+---------------+
| 10.41.227.211 | Yes | | |
| 10.41.155.54 | No | 10.41.155.54 | |
| 10.41.223.33 | No | 10.41.223.33 | |
| 10.41.226.182 | No | 10.41.226.182 | |
| 10.41.33.105 | No | 10.41.33.105 | |
| 10.41.34.134 | No | 10.41.34.134 | |
+---------------+------------+---------------+---------------+
Bash
복사
4) SingleStore 엔진(singlestoredb-server) 설치 : 최신 버전(latest) 배포
sdb-deploy install --yes --all # MA 에서 실행
✓ Downloaded singlestoredb-server latest
✓ Installed singlestoredb-server7.8.2-8c7b918527 on host 10.41.227.211 (1/6)
✓ Installed singlestoredb-server7.8.2-8c7b918527 on host 10.41.223.33 (2/6)
✓ Installed singlestoredb-server7.8.2-8c7b918527 on host 10.41.155.54 (3/6)
✓ Installed singlestoredb-server7.8.2-8c7b918527 on host 10.41.226.182 (4/6)
✓ Installed singlestoredb-server7.8.2-8c7b918527 on host 10.41.34.134 (5/6)
✓ Installed singlestoredb-server7.8.2-8c7b918527 on host 10.41.33.105 (6/6)
✓ Successfully installed on 6 hosts
Operation completed successfully
Bash
복사
5) SingleStore 엔진(singlestoredb-server) 설치 : tarball 일 때
sdb-deploy install --yes --all --force-package-format tar --file-path <singlestoredbserver...tar.gz 파일의 경로>
Bash
복사
6) 클러스터 MA(Master Aggregator) 구성
•
노드 생성
SingleStore 접속 시 DB 사용자 root 의 비밀번호와 라이선스키를 입력해야 합니다.
DB root 비밀번호는 <dbpw>, 발급받은 라이선스키는 <license_key> 라고 가정합니다. 포트<port>는 입력하지 않으면 default 값인 3306으로 설정 됩니다.
$ sdb-admin create-node --yes --password <dbpw> --host <MA_IP> --port <MA_PORT> --base-install-dir ~/memsql/nodes/MA
… 출력 중략 …
+------------------------------------------+---------------+
| MemSQL ID | Host |
+------------------------------------------+---------------+
| B324705D9993D795A112973114515677E1D6E68B | 10.41.227.211 |
+------------------------------------------+---------------+
Bash
복사
•
역할 부여 : bootstrap-aggregator
생성된 노드의 MemSQL ID 를 인자로 (10 자리 이상) 복사하여 넣어 줍니다.
$ sdb-admin bootstrap-aggregator --yes --license <license_key> --memsql-id B324705D99
✓ Successfully ran 'memsqlctl bootstrap-aggregator'
Operation completed successfully
Bash
복사
7) 클러스터 CA(Child Aggregator) 구성
•
노드 생성
SingleStore 접속 시 DB root 의 비밀번호를 입력해야 합니다. MA 와 다른 비밀번호를 사용해도 됩니다. DB root 비밀번호는 <dbpw> 라고 가정합니다. <port>는 입력하지 않으면 default 값인 3306으로 설정 됩니다.
$ sdb-admin create-node --yes --password <dbpw> --host <CA_IP> --port <CA_PORT> --base-install-dir ~/memsql/nodes/CA
… 출력 중략 …
+------------------------------------------+--------------+
| MemSQL ID | Host |
+------------------------------------------+--------------+
| 8BF582BF8D67DAEE7402F59FE5FB5FF4208B1A96 | 10.41.155.54 |
+------------------------------------------+--------------+
Bash
복사
•
역할 부여 : add-aggregator
생성된 노드의 MemSQL ID 를 인자로 (10 자리 이상) 복사하여 넣어 줍니다.
$ sdb-admin add-aggregator --yes --password <dbpw> --memsql-id 8BF582BF8D
✓ Successfully ran 'memsqlctl add-aggregator'
Operation completed successfully
Bash
복사
8) 클러스터 Leaf #1 구성
•
노드 생성
SingleStore 접속 시 DB root 의 비밀번호를 입력해야 합니다. MA 와 다른 비밀번호를 사용해도 됩니다. DB root 비밀번호는 <dbpw> 라고 가정합니다. <port>는 입력하지 않으면 default 값인 3306으로 설정 됩니다.
$ sdb-admin create-node --yes --password <dbpw> --host <LF1_IP> --port <LF1_PORT> --base-install-dir ~/memsql/nodes/LF1
… 출력 중략 …
+------------------------------------------+--------------+
| MemSQL ID | Host |
+------------------------------------------+--------------+
| 07CE8DEE4D8A9939DF823882C00727BAE88F9AB2 | 10.41.223.33 |
+------------------------------------------+--------------+
Bash
복사
•
역할 부여 : add-leaf
생성된 노드의 MemSQL ID 를 인자로 (10 자리 이상) 복사하여 넣어 줍니다.
$ sdb-admin add-leaf --yes --password <dbpw> --memsql-id 07CE8DEE4D
✓ Successfully ran 'memsqlctl add-leaf'
Operation completed successfully
Bash
복사
9) 클러스터 Leaf #2~4 구성
클러스터 Leaf #1 구성을 참조하여 구성하시기 바랍니다.
sdb-admin create-node --yes --password <dbpw> --host <LF2_IP> --port <LF2_PORT> --base-install-dir ~/memsql/nodes/LF2
sdb-admin create-node --yes --password <dbpw> --host <LF3_IP> --port <LF3_PORT> --base-install-dir ~/memsql/nodes/LF3
sdb-admin create-node --yes --password <dbpw> --host <LF4_IP> --port <LF4_PORT> --base-install-dir ~/memsql/nodes/LF4
… 이하 생략 (클러스트 Leaf #1 구성 참고) …
Bash
복사
10) 클러스터 구성 확인
sdb-admin list-nodes
+------------+------------+---------------+------+---------------+--------------+---------+----------------+--------------------+--------------+
| MemSQL ID | Role | Host | Port | Process State | Connectable? | Version | Recovery State | Availability Group | Bind Address |
+------------+------------+---------------+------+---------------+--------------+---------+----------------+--------------------+--------------+
| 2E42499AE3 | Master | 10.41.227.222 | 3306 | Running | True | 7.8.2 | Online | | 0.0.0.0 |
| 3B1746D521 | Aggregator | 10.41.38.230 | 3306 | Running | True | 7.8.2 | Online | | 0.0.0.0 |
| E726A01B66 | Leaf | 10.41.153.177 | 3306 | Running | True | 7.8.2 | Online | 1 | 0.0.0.0 |
| A96032D8E5 | Leaf | 10.41.30.194 | 3306 | Running | True | 7.8.2 | Online | 1 | 0.0.0.0 |
| 042473BB83 | Leaf | 10.41.33.105 | 3306 | Running | True | 7.8.2 | Online | 1 | 0.0.0.0 |
| 72E348C418 | Leaf | 10.41.34.134 | 3306 | Running | True | 7.8.2 | Online | 1 | 0.0.0.0 |
+------------+------------+---------------+------+---------------+--------------+---------+----------------+--------------------+--------------+
Bash
복사
일자 | 작성자 | 비고 |
2022.04.27 | min | |
2022.04.28 | min | topology map추가 |
2022.09.14 | kkh | host 등록 옵션 관련 내용 추가 |