TiDB 단일 컴퓨터에서 운영 환경 클러스터 배포 시뮬레이션
단일 컴퓨터에서 운영 환경 클러스터 배포
시나리오: 완벽한 토폴로지가 있는 최소 TiDB 클러스터를 경험하고 단일 Linux 서버에서 운영 환경 클러스터 배포 절차를 시뮬레이션한다. 이 섹션에서는 TiUP에서 최소 토폴로지 YAML 파일을 사용하여 TiDB 클러스터를 배포하는 방법에 대해 설명한다.
클러스터 배포 준비
다음 요구 사항을 충족하는 대상 컴퓨터를 준비한다.
- CentOS 7.3 이상 버전이 설치됨
- Linux OS는 인터넷에 액세스할 수 있다. 이는 TiDB 및 관련 소프트웨어 설치 패키지를 다운로드 하는데 필요하다.
최소 TiDB 클러스터 토폴로지는 다음과 같다.
Note:
다음 인스턴스의 IP 주소는 IP의 예로만 작동한다. 실제 배포에서는 IP를 실제 IP로 바꿔야 한다.실례 | 카운트 | 지재 | Configuration/구성 |
---|---|---|---|
TiKV | 3 | 10.0.1.1 10.0.1.1 10.0.1.1 |
포트와 디렉터리 충돌 방지 |
TiDB | 1 | 10.0.1.1 | 기본 포트 전역 디렉터리 구성 |
PD | 1 | 10.0.1.1 기본 포트 전역 디렉터리 구성 |
|
티플래시 | 1 | 10.0.1.1 | 기본 포트 전역 디렉터리 구성 |
모니터 | 1 | 10.0.1.1 | 기본 포트 전역 디렉터리 구성 |
대상 컴퓨터의 기타 요구 사항:
-
root 사용자와 비밀번호 필요
-
대상 시스템의 방화벽 서비스를 중지 하거나 TiDB 클러스터 노드에 필요한 포트 열기
-
현재 TiUP 클러스터는 x86_64(AMD64) 및 ARM 아키텍처에서 TiDB 배포를 지원한다.
- AMD64에서는 CentOS 7.3 이상 버전을 사용하는 것이 좋다.
- ARM에서는 CentOS 7.6 1810을 사용하는 것이 좋다.
클러스터 배포 실행
Note:
일반 사용자 또는 root 사용자로 대상 컴퓨터에 로그인할 수 있다. 다음 절차에서는 예제로 root 사용자를 사용한다.-
TiUP를 다운로드하여 설치한다.
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
-
전역 환경 변수를 선언한다.
Note:
설치 후에 TiUP는 해당 셸 프로필 파일의 절대 경로를 표시한다. 경로에 따라 다음source
명령${your_shell_profile}
을 변경해야 한다.source ${your_shell_profile}
-
TiUP의 클러스터 구성 요소를 설치한다.
tiup cluster
-
TiUP 클러스터가 이미 컴퓨터에 설치되어 있는 경우 소프트웨어 버전을 업데이트한다.
tiup update --self && tiup update cluster
-
sshd
서비스의 연결 제한을 늘리려면 root 사용자 권한을 사용한다. 이는 TiUP가 여러 컴퓨터에서 배포를 시뮬레이트해야 하기 때문이다./etc/ssh/sshd_config
를 변경하고MaxSessions
를20
로 설정한다.sshd
서비스를 다시 시작한다.service sshd restart
-
클러스터를 만들고 시작한다.
다음 템플릿에 따라 구성 파일을 편집하고,
topo.yaml
라고 이름을 지정한다.# # Global variables are applied to all deployments and used as the default value of # # the deployments if a specific deployment value is missing. global: user: "tidb" ssh_port: 22 deploy_dir: "/tidb-deploy" data_dir: "/tidb-data" # # Monitored variables are applied to all the machines. monitored: node_exporter_port: 9100 blackbox_exporter_port: 9115 server_configs: tidb: log.slow-threshold: 300 tikv: readpool.storage.use-unified-pool: false readpool.coprocessor.use-unified-pool: true pd: replication.enable-placement-rules: true replication.location-labels: ["host"] tiflash: logger.level: "info" pd_servers: - host: 10.0.1.1 tidb_servers: - host: 10.0.1.1 tikv_servers: - host: 10.0.1.1 port: 20160 status_port: 20180 config: server.labels: { host: "logic-host-1" } - host: 10.0.1.1 port: 20161 status_port: 20181 config: server.labels: { host: "logic-host-2" } - host: 10.0.1.1 port: 20162 status_port: 20182 config: server.labels: { host: "logic-host-3" } tiflash_servers: - host: 10.0.1.1 monitoring_servers: - host: 10.0.1.1 grafana_servers: - host: 10.0.1.1
user: "tidb"
:tidb
시스템 사용자(배포 시 자동으로 생성됨)를 사용하여 클러스터의 내부 관리를 수행한다. 기본적으로 포트 22를 사용하여 SSH를 통해 대상 컴퓨터에 로그인한다.replication.enable-placement-rules
: 이 PD 매개 변수는 TiFlash가 제대로 작동하도록 설정되어 있다.host
: 대상 컴퓨터의 IP.
-
클러스터 배포 명령을 실행한다.
tiup cluster deploy <cluster-name> <tidb-version> ./topo.yaml --user root -p
-
<cluster-name>
: 클러스터 이름을 설정한다. -
<tidb-version>
: TiDB 클러스터 버전을 설정한다.tiup list tidb
명령을 실행하면, 지원되는 TiDB의 모든 버전을 확인할 수 있다. -
-p
: 대상 컴퓨터에 연결하는데 사용할 비밀번호를 지정한다.Note:
비밀 키를 사용하는 경우는-i
를 통해 키의 경로를 지정할 수 있다.-i
와-p
동시에 사용하지 마라.
“y"와 root 사용자의 비밀번호를 입력하여 배포를 완료한다.
Do you want to continue? [y/N]: y Input SSH password:
-
-
클러스터를 시작한다.
tiup cluster start <cluster-name>
-
클러스터에 액세스한다.
-
MySQL 클라이언트를 설치한다. 이미 설치되어 있는 경우 이 단계를 건너 뛰어라.
yum -y install mysql
-
TiDB에 액세스한다. 비밀번호가 비어 있다.
mysql -h 10.0.1.1 -P 4000 -u root
-
http://{grafana-ip}:3000 에서 Grafana 모니터링 대시보드에 액세스한다. 기본 사용자명과 비밀번호는 모두
admin
이다. -
TiDB 대시보드 http://{pd-ip}:2379/dashboard 에 액세스한다. 기본 사용자명은 root이고, 비밀번호는 비어 있다.
-
현재 배포된 클러스터 목록을 보려면:
tiup cluster list
-
클러스터의 토폴로지 및 상태를 보려면:
tiup cluster display <cluster-name>
-