ansible 설치 배포 TiDB 클러스터

6564 단어

tidb 집단 배치 상세 절차


1. 준비 작업


1. 서버 4대(외부 네트워크 활성화)


117.50.96.236centos 7.3 64위
117.50.96.235centos 7.3 64위
117.50.96.234centos 7.3 64위
117.50.96.233centos 7.3 64위

2. 개 기계 호스트 이름 수정(영구 수정)

hostnamectl set-hostname centos701

3. 메인 컨트롤러를 선택하고 간단한 설정을 한다


저는 117.50.96.236을 메인 컨트롤러로 뽑았어요.

ssh에서 메인 컨트롤러로

ssh [email protected]  

사용자 추가

useradd -m -d /home/tidb tidb

권한을 부여하고 비밀을 해제하다

visudo

//파일 끝에 다음 행을 추가합니다.
tidb all=(all) nopasswd: all

tidb 사용자로 전환

su - tidb

ssh 키 만들기

ssh-keygen -t rsa

tidb 의존 도구 설치


git 설치

sudo yum install git -y

ansible 설치

sudo yum install ansible -y

클론tidb-ansible

git clone -b v3.0.0 https://github.com/pingcap/tidb-ansible.git tidb-ansible-v3.0.0

클론 후 폴더로 이동

cd tidb-ansible-v3.0.0/

2. tidb-ansible를 통해 모든 서버에 사용자와 키를 추가합니다


호스트를 편집합니다.ini 파일

vim hosts.ini

[server] # ip
117.50.96.236
117.50.96.235
117.50.96.234
117.50.96.233
[all:vars] # tidb ( )
username = tidb
ntp_server = pool.ntp.org

tidb-ansible를 사용하여 방금 조립한 모든 기계에서 사용자 만들기

ansible-playbook -i hosts.ini create_users.yml -u root -k 

참고: 상호 작용 섹션에 루트 암호 입력

tidb 토폴로지 구조 설정 (서버 자원 분배)


인벤토리를 편집합니다.ini 파일

vim inventory.ini

 
토폴로지 구조는 1개tidb, 3개pd, 3개tikv, 1개의 메인 컨트롤러입니다
[tidb_servers] IP를 놓고 이 서버가 tidb 일꾼이라고 성명합니다
[tikv_servers] IP를 세 개 놓고 이 세 서버가 tikv 일꾼이라고 성명합니다
[pd_servers] IP를 세 개 놓고 이 세 서버가 pd 일꾼이라고 성명합니다
[monitoring_servers] IP를 놓고 이 서버가 모니터링(jiangong)이라고 표시합니다
[grafana_servers] 동상
[monitored_servers] 모든 IP를 놓고 이 서버들이 감시되어야 한다고 선언합니다
[alertmanager_servers] 모니터와 일치합니다
[all:vars] 이것은 각 서버에서 마운트할 디스크 경로입니다
다른 설정은 먼저 움직이지 않을 수도 있고, 자신의 요구에 따라..

3. tidb 그룹 시작


프로세싱 프로세싱 정보(토폴로지 구조에 따라 리소스 할당)

ansible -i inventory.ini all -m shell -a 'whoami'
ansible -i inventory.ini all -m shell -a 'whoami' -b
ansible-playbook local_prepare.yml

이 단계에서 Ansible run Faild, ansible version is too low 등의 오류가 발생하면 pip를 설치하지 않았기 때문일 수 있습니다. 설치 명령은 다음과 같습니다.
1,python-pip 패키지 없이 명령 실행
 yum -y install epel-release

2, 실행 성공 후 다시 실행
yum install python-pip

3. 설치된 pip를 업그레이드
 pip install --upgrade pip

4. 설치 요구 사항.txt 의존 (tidb 디렉터리에서 이 명령을 실행해야 함)
pip install -r requirements.txt

다음은 tidb 그룹을 시작합니다. 서버의 설정이tidb 요구에 미치지 못하면 그룹을 시작할 수 없습니다.단, 우리는tidb의 강제 검증 전략을 취소할 수 있습니다. (테스트만 가능합니다. 생산 환경은 이렇게 하지 마십시오.)

vim bootstrap을 수정합니다.yml 시스템 검사 취소

vim bootstrap.yml

다음을 주석하다
#- name: check system
#  hosts: all
#  any_errors_fatal: true
#  roles:
#- check_system_static
#- { role: check_system_optional, when: not dev_mode|default(false) }

#- name: tikv_servers machine benchmark
#  hosts: tikv_servers
#  gather_facts: false
#  roles:
#- { role: machine_benchmark, when: not dev_mode|default(false) }
   
//  
// roles/check_system_optional/defaults/main.yml  
// roles/machine_benchmark/defaults/main.yml

### 다음 명령을 실행하여 테스트를 취소합니다.
ansible-playbook bootstrap.yml --extra-vars "dev_mode=True"

tidb 그룹 시작

ansible-playbook bootstrap.yml
ansible-playbook deploy.yml
ansible-playbook start.yml

테스트


메인 컨트롤러의 포트 상태를 보십시오 (아래와 같은 포트가 있고 상기 단계에 빨간색 오류가 없으면 시작이 성공했음을 의미합니다) 넷stat-tnpl
브라우저에서 117.50.96.236:3000(주 제어기 ip[[grafana_servers] 아래 IP]에 3000 포트를 추가)을 방문하면 모니터링 인터페이스를 볼 수 있습니다(초기 사용자 및 비밀번호:admin/admin)

클러스터 시작


이 작업은 전체 TiDB 클러스터의 모든 구성 요소 (PD, TiDB, TiKV 등 모니터링 가능한 구성 요소 포함) 를 순서대로 시작합니다.
ansible-playbook start.yml

4. 집단 정지


클러스터 닫기


이렇게 하면 PD, TiDB, TiKV 등 모니터링 가능한 구성 요소를 포함한 전체 TiDB 클러스터의 모든 구성 요소를 순차적으로 닫습니다.
ansible-playbook stop.yml

클러스터 데이터 지우기


이 작업을 수행하면 TiDB, Pump, TiKV, PD 서비스가 종료되고 Pump, TiKV, PD 데이터 디렉토리가 비워집니다.
ansible-playbook unsafe_cleanup_data.yml

클러스터 제거


이 동작은 그룹을 닫고 배치 디렉터리를 비웁니다. 만약 배치 디렉터리가 마운트 지점이라면 오류를 보고할 수 있습니다. 무시할 수 있습니다.
ansible-playbook unsafe_cleanup.yml


본문 전재:http://www.toyou.plus/web/wzjs/54.html, 자세한 내용은 이 웹 사이트를 참조하십시오.

좋은 웹페이지 즐겨찾기