TIDB官方文檔建議最低使用centos7.3操作系統(tǒng)進(jìn)行部署,磁盤SSD200G,網(wǎng)卡千兆以上,內(nèi)存要8G。日常虛擬機(jī)可沒有這么高的內(nèi)存配置,所以部署按照虛擬機(jī)最低配置進(jìn)行安裝,創(chuàng)建4臺TIDB虛擬機(jī),1G內(nèi)存,20G磁盤做數(shù)據(jù)盤。
官方建議使用ansible進(jìn)行在線部署,虛擬機(jī)可配置一臺中控機(jī)進(jìn)行外網(wǎng)互通,其他機(jī)器為內(nèi)網(wǎng)互通。
我的機(jī)器環(huán)境:
IP | 角色 | 系統(tǒng) |
192.168.37.128 | TiKV | Centos7.6 |
192.168.37.129 | TiKV | Centos7.6 |
192.168.37.130 | TiKV | Centos7.6 |
192.168.37.132 | 中控機(jī) | Centos7.6 |
注意:使用Ansible 方式部署時,TiKV及 PD節(jié)點數(shù)據(jù)目錄所在磁盤請使用SSD 磁盤,否則無法通過檢測
1、中控機(jī)安裝所需要的依賴包
yum -y installepel-release git curl sshpass &&
yum -y installpython2-pip
2、創(chuàng)建用戶,生成ssh key
創(chuàng)建用戶并修改密碼:
useradd -m -d/home/tidb tidb
passwd tidb
配置tidb用戶免sudo
visudo
tidb ALL=(ALL)NOPASSWD: ALL
切換到tidb用戶下生成sshkey
su – tidb
ssh-keygen -t rsa
3、中控機(jī)下載ansible并安裝及其依賴包
切換到tidb用戶,執(zhí)行以下命令(如果無git命令,使用yum安裝)
git clone -b $taghttps://github.com/pingcap/tidb-ansible.git
注意:
$tag 替換為選定的TAG 版本的值,例如v3.0.2。
部署和升級TiDB 集群需使用對應(yīng)的tidb-ansible 版本,通過改inventory.ini 文件中的版本來混用可能會產(chǎn)生一些錯誤。請務(wù)必按文檔操作,將tidb-ansible 下載到/home/tidb 目錄下,權(quán)限為tidb 用戶,不要下載到/root 下,否則會遇到權(quán)限問題。
安裝ansible
在安裝ansible之前,先升級pip,使用pipinstall --upgrade pip進(jìn)行升級如果通過以下方式安裝的ansible有問題,使用pipuninstall ansible卸載,再使用yum–y install ansible安裝
cd/home/tidb/tidb-ansible &&
sudo pip install -r./requirements.txt &&
ansible –version
4、配置互信及sudo
配置內(nèi)網(wǎng)TiKV機(jī)器互信及sudo
cd/home/tidb/tidb-ansible &&
vi hosts.ini
[servers]
192.168.37.128
192.168.37.129
192.168.37.130
192.168.37.132
[all:vars]
username = tidb
ntp_server =pool.ntp.org
執(zhí)行互信操作
ansible-playbook -ihosts.ini create_users.yml -u root –k
5、配置NTP
cd/home/tidb/tidb-ansible &&
ansible-playbook -ihosts.ini deploy_ntp.yml -u tidb -b
6、配置CPUfreq模式
首先查看系統(tǒng)是否支持CPUfreq模式,顯示NotAvailable則為不支持則可跳過操作
cpupowerfrequency-info --governors
analyzing CPU 0:
available cpufreqgovernors: Not Available
如果支持該模式,則執(zhí)行
cpupowerfrequency-set --governor performance
或者批量配置互信下的機(jī)器
ansible -i hosts.iniall -m shell -a "cpupower frequency-set --governor performance"-u tidb –b
7、掛載文件數(shù)據(jù)盤
Tidb的數(shù)據(jù)盤格式需要為ext4,如果不是,則需要重新格式化并掛載,我是每臺機(jī)器掛載了一個20G的數(shù)據(jù)盤。
使用fdisk命令對盤進(jìn)行劃分
fdisk /dev/sdb
進(jìn)行格式化
mkfs.ext4 /dev/sdb
查看UUID號
編輯/etc/fstab文件,把掛載加入到系統(tǒng)啟動
UUID=fa569af4-f8e7-4647-9085-07af255d3a07 /data1 ext4defaults,nodelalloc,noatime 0 2
創(chuàng)建數(shù)據(jù)盤
mkdir /data
進(jìn)行掛載
mount –a
劃分完及掛載后如下所示:
8、創(chuàng)建配置文件inventory.ini
主要修改以下地方,一臺tidb作為中控機(jī),三臺tikv,一臺pd。如果安裝官方建議,為6臺機(jī)器,2個 TiDB 節(jié)點,3個 PD 節(jié)點,3個 TiKV 節(jié)點,第一臺TiDB 機(jī)器同時用作監(jiān)控機(jī)
cat >inventory.ini
## TiDB Cluster Part
[tidb_servers]
192.168.37.132
[tikv_servers]
192.168.37.128
192.168.37.129
192.168.37.130
[pd_servers]
192.168.37.132
## Monitoring Part
# prometheus andpushgateway servers
[monitoring_servers]
192.168.37.132
[grafana_servers]
192.168.37.132
# node_exporter andblackbox_exporter servers
[monitored_servers]
192.168.37.128
192.168.37.129
192.168.37.130
192.168.37.132
9、運(yùn)行配置文件進(jìn)行部署
互信檢查,返回創(chuàng)建的用戶tidb為成功
ansible -iinventory.ini all -m shell -a whoami
sudo檢查,返回root為成功
ansible -iinventory.ini all -m shell -a whoami -b
執(zhí)行l(wèi)ocal_prepare.yml playbook,聯(lián)網(wǎng)下載TiDB binary 到中控機(jī)
ansible-playbooklocal_prepare.yml
初始化系統(tǒng)環(huán)境,修改內(nèi)核參數(shù)
ansible-playbookbootstrap.yml
部署TiDB 集群軟件
ansible-playbookdeploy.yml
10、啟動及測試集群
啟動TiDB 集群
ansible-playbookstart.yml
關(guān)閉TiDB集群
ansible-playbookstop.yml
測試連接
mysql -u root -h192.168.37.132 -P 4000
通過圖形界面登陸GrafanaDashboard監(jiān)控平臺
地址:http://192.168.37.132:3000 默認(rèn)帳號密碼是:admin/admin
至此,TIDB集群部署完成
1、最常見的問題就是NTP的問題,會導(dǎo)致互信出現(xiàn)問題,部署不成功
Ansible FAILED!
Start to adjust timewith pool.ntp.org
ntpdate[50809]:noserver suitable for synchronization found
解決方式:
查看一下/etc/ntp.conf里面的server,如果里面server 為ntp02.intstg.sfdc.com.cn
然后把tidb_ansible_master/hosts.ini里面的ntp_server改成一致的,即ntp02.intstg.sfdc.com.cn
2、磁盤檢測問題
Tidb要求SSD磁盤,虛擬機(jī)安裝的話達(dá)不到安裝要求,可修改/home/tidb/tidb-ansible/roles/machine_benchmark/defaults/main.yml文件,如IOPS修改小一些,可檢測通過
3、部署過程中出現(xiàn)做互信操作非常慢,需要在/etc/hosts下添加IP,主機(jī)名進(jìn)行解析
4、提示:Ansible FAILED! => playbook: bootstrap.yml; TASK: check_system_optional : Preflight check - Check TiDB servers CPU; message: {"changed": false, "msg": "This machine does not have sufficient CPU to run TiDB, at least 8 cores."}
處理方法:
vim bootstrap.yml 修改該文件并注釋掉以下的內(nèi)容
- name: check system
hosts: all
any_errors_fatal: true
roles:
- check_system_necessary
# - { role: check_system_optional, when: not dev_mode } 這里注銷掉
5、如果是非SSD測試的話 ,最好將如下的內(nèi)容注釋掉
- name: tikv_servers machine benchmark
hosts: tikv_servers
gather_facts: false
roles:
# - { role: machine_benchmark, when: not dev_mode } 這里注銷掉
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/130169.html
摘要:愛奇藝,中國高品質(zhì)視頻娛樂服務(wù)提供者,年月日正式上線,推崇品質(zhì)青春時尚的品牌內(nèi)涵如今已深入人心,網(wǎng)羅了全球廣大的年輕用戶群體,積極推動產(chǎn)品技術(shù)內(nèi)容營銷等全方位創(chuàng)新。邊控中心是愛奇藝第一個在線業(yè)務(wù)使用的項目,所以我們制定了詳細(xì)的上線計劃。 愛奇藝,中國高品質(zhì)視頻娛樂服務(wù)提供者,2010 年 4 月 22 日正式上線,推崇品質(zhì)、青春、時尚的品牌內(nèi)涵如今已深入人心,網(wǎng)羅了全球廣大的年輕用戶群...
閱讀 1356·2023-01-11 13:20
閱讀 1707·2023-01-11 13:20
閱讀 1215·2023-01-11 13:20
閱讀 1906·2023-01-11 13:20
閱讀 4165·2023-01-11 13:20
閱讀 2757·2023-01-11 13:20
閱讀 1402·2023-01-11 13:20
閱讀 3671·2023-01-11 13:20