Search
Duplicate

sdb-deploy setup-cluster 이용

문서번호 : 11-233596
여러 시스템에 SingleStore DB 클러스터 배포를 하는 명령어입니다.
1) CLI 방식으로 배포: (IP 대신 hostname 사용가능)
sdb-deploy setup-cluster \ > --master-host <MA_IP> \ > --aggregator-hosts <CA_IP> \ > --leaf-hosts <LF1_IP>, <LF2_IP>, <LF3_IP>, <LF4_IP> \ > --identity-file ~/my_key.pem \ > --license <license_key> \ # 라이선스 키 > --password <dbpw> # 비밀번호
Bash
복사
자세한 내용을 원하시면, 다음 링크를 참고하십시오.
2) YAML 파일로 배포
용법
sdb-deploy setup-cluster --cluster-file <path-to-cluster-file> # YAML 파일 작성 후 실행
Bash
복사
YAML 파일 템플릿: (MA, CA, LF 구성)
license: <LICENSE> [Required to bootstrap Master Aggregator] high_availability: <true | false> memsql_server_version: <the version of memsql you want to install (7.8+)> memsql_server_file_path:<path to the downloaded memsql server file> package_type: <deb|rpm|tar> [Required if multiple package present] root_password: <default password to be used for all nodes> optimize: <true | false> optimize_config: memory_percentage: <percentage of memory you want memsql to use> no_numa: <true|false> hosts: - hostname: <host-name> [Required] localhost: <true | false> memsqlctl_path: <path to memsqlctl> [ADVANCED] memsqlctl_config_path:<path to memsqlctl config> [ADVANCED] tar_install_dir: <path to tar install dir> [ADVANCED] tar_install_state: <path to tar install state> [ADVANCED] ssh: [Required for remote Hosts] host: <ssh host name> port: <ssh port> user: <ssh user> private_key: <path to your identity key> nodes: - register: <true | false> role: <Unknown | Master | Leaf | Aggregator> (case sensitive) [Required] availability_group: <availability group> no_start: <true | false> variables: secure_file_priv: <location> config: auditlogsdir: <path to auditlogs directory> [ADVANCED] baseinstalldir: <path to base install directory> [ADVANCED] configpath: <path to configuration path> [ADVANCED][Required if register is true] datadir: <path to data directory> [ADVANCED] disable_auto_restart: <true | false> password: <password> plancachedir: <path to plancache directory> [ADVANCED] port: <port number> [Required for node creation] tracelogsdir: <path to tracelogs directory> [ADVANCED] bind_address: <bind address> [ADVANCED]
Bash
복사
YAML 파일 예시 1: 하나의 장비(host)에 클러스터(MA:1, LF:1) 구성
vi setup-cluster.yaml license: <license-key> package_type: rpm memsql_server_version:/home/memsql/singlestoredb-server7.8.2-8c7b918527.x86_64.rpm root_password: <dbpw> optimize: true hosts: - hostname: 10.41.8.45 localhost: true nodes: - role: Master config: port: 3306 auditlogsdir: /data/memsql/MA/auditlogs/ datadir: /data/memsql/MA/data plancachedir: /data/memsql/MA/plancache tracelogsdir: /data/memsql/MA/tracelogs - role: Leaf config: port: 3308 auditlogsdir: /data/memsql/LF1/auditlogs/ datadir: /data/memsql/LF1/data plancachedir: /data/memsql/LF1/plancache tracelogsdir: /data/memsql/LF1/tracelogs
Bash
복사
YAML 파일 예시 2: 여러 장비(host)에 클러스터(MA:1, CA:1, LF:4) 구성, HA 활성화
vi setup-cluster.yaml license: <license-key> high_availability: true package_type: rpm memsql_server_file_path: <server 7.8.2 path> hosts: - hostname: <hostname1> localhost: true nodes: - role: Master config: password: <dbpw> port: 3306 - hostname: <CA host name or IP> ssh: host: <ssh host name or IP> private_key: /home/<user>/.ssh/id_rsa nodes: - role: Aggregator config: password: <dbpw> - hostname: <LF1 host name or IP> ssh: host: <ssh host name or IP> private_key: /home/<user>/.ssh/id_rsa nodes: - role: Leaf availability_group: 1 config: password: <dbpw> - hostname: <LF2 host name or IP> ssh: host: <ssh host name or IP> private_key: /home/<user>/.ssh/id_rsa nodes: - role: Leaf availability_group: 2 config: password: <dbpw> - hostname: <LF3 host name or IP> ssh: host: <ssh host name or IP> private_key: /home/<user>/.ssh/id_rsa nodes: - role: Leaf availability_group: 1 config: password: <dbpw> - hostname: <LF4 host name or IP> ssh: host: <ssh host name or IP> private_key: /home/<user>/.ssh/id_rsa nodes: - role: Leaf availability_group: 2 config: password: <dbpw>
Bash
복사
Setup cluster 실행
sdb-deploy setup-cluster ./setup-cluster.yaml # 작성한 YAML 파일
Bash
복사
참고) 옵션 설명
옵션
설명
license
클러스터에 사용될 라이선스
high_availability
고가용성 활성화 여부 (기본값 false)
root_password
노드 비밀번호
optimize
true 로 설정하면, 권장 메모리 백분율로 클러스터의 메모리 사용량 및 NUMA 최적화
optimize_config
memory_percentage : SingleStore DB 가 각 호스트에서 사용하는 메모리 백분율을 지정 no_numa 옵션이 true 로 설정된 경우: 클러스터의 NUMA 최적화는 수행되지 않음
memsql_server_version
singlestoredb-server 버전
msql_server_file_path
singlestoredb-server 패키지의 경로
package_type
설치에 사용할 패키지 유형(rpm, deb, tar)
hostname
클러스터 주소를 지정 가능한 호스트 이름 로컬 호스트를 하나만 사용할 수 있는 경우, 127.0.0.1
localhost
localhost 지정 (기본값 false)
memsqlctl_path
memsqctl 바이너리 파일 경로
memsqlctl_config_path
memsqlctl.hcl 바이너리 파일 경로
tar_install_dir
tarball 디렉터리
tar_install_state
packages.hcl 파일 경로
user
ssh 호스트의 사용자
port
ssh 포트 (기본값 22)
host
ssh 호스트 이름
private_key
호스트의 ID 파일 (일반적으로 ~<user>/.ssh)
register
false: 새 노드 생성시 true: 노드가 이미 있어, 해당 노드를 Toolbox 에 등록함
role
노드의 역할 (Master, Leaf, Aggregator, Unknown)
availability_group
가용성 그룹(고가용성 설정시, true) - 자세한 내용은 가용성 그룹 을 참조
no_start
true 로 설정시, 생성 후 노드가 시작되지 않음
secure_file_priv
각 노드에 대해 가져오기 또는 내보내기 작업을 제한해야 하는 디렉토리 (기본값: <defaultInstallDir>/db-files) 자세한 내용은 기본 설치 디렉터리 및 비동기화 변수 설정 참조
port
포트 번호 (기본값: 3306)
disable_auto_restart
true 설정시, 노드가 충돌해도 자동으로 다시 시작되지 않음
password
SingleStore DB 노드의 비밀번호
defaultinstalldir
기본 설치 디렉터리(deafalt: /var/lib/memsql)
auditlogsdir
auditlogs 디렉토리의 절대 경로
baseinstalldir
기본 설치 디렉토리의 절대 경로
configpath
노드 구성 파일의 절대 경로
datadir
노드 data 디렉토리의 절대 경로
plancachedir
plancache 디렉토리의 절대 경로
tracelogsdir
tracelogs 디렉토리의 절대 경로
일자
작성자
비고
2022.4.29
min