ansible 설치 배포 TiDB 클러스터
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, 자세한 내용은 이 웹 사이트를 참조하십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
hostnamectl set-hostname centos701
ssh [email protected]
useradd -m -d /home/tidb tidb
visudo
tidb all=(all) nopasswd: all
su - tidb
ssh-keygen -t rsa
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, 자세한 내용은 이 웹 사이트를 참조하십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
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
ansible-playbook -i hosts.ini create_users.yml -u root -k
vim inventory.ini
프로세싱 프로세싱 정보(토폴로지 구조에 따라 리소스 할당)
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, 자세한 내용은 이 웹 사이트를 참조하십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
ansible-playbook stop.yml
ansible-playbook unsafe_cleanup_data.yml
ansible-playbook unsafe_cleanup.yml
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.