安裝參考文件
如何檢測-ntp-服務是否正常
相關準備工作
systemctl stop firewalld.service
systemctl disable firewalld.service
[root@tidb1 tidb-ansible]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.137.161tidb1
192.168.137.162tidb2
192.168.137.163tidb3
192.168.137.164tidb4
192.168.137.165tidb5
192.168.137.166tidb6
配置 ssh
ssh-keygen -t rsa
ssh-copy-id -i [email protected]
ssh-copy-id -i [email protected]
ssh-copy-id -i [email protected]
ssh-copy-id -i [email protected]
ssh-copy-id -i [email protected]
ssh-copy-id -i [email protected]
ssh localhost
ssh tidb1
ssh tidb2
ssh tidb3
ssh tidb4
ssh tidb5
ssh tidb6
scp -rp /etc/hosts tidb2:/etc/
scp -rp /etc/hosts tidb3:/etc/
scp -rp /etc/hosts tidb4:/etc/
scp -rp /etc/hosts tidb5:/etc/
scp -rp /etc/hosts tidb6:/etc/
[root@tidb1 ~]# yum install -y ansible
***************==== 下面 進入真正的 實施部署階段了===
tidb ansible 部署方案
概述ansible 是一款自動化運維工具,tidb-ansible 是 pingcap 基於 ansible playbook 功能編寫的集群部署工具。使用 tidb-ansible 可以快速部署乙個完整的 tidb 集群(包括 pd、tidb、tikv 和集群監控模組)。
本部署工具可以通過配置檔案設定集群拓撲,一鍵完成以下各項運維工作:
初始化作業系統,包括建立部署使用者、設定 hostname 等
部署元件
滾動公升級,滾動公升級時支援模組存活檢測
資料清理
環境清理
配置監控模組
準備機器
部署中控機一台:
python 2.6 或 python 2.7,安裝有 ansible 2.3 版本或以上版本。
依賴 python jinja2 及 markupsafe 指定版本模組: pip install jinja2==2.7.2 markupsafe==0.11
可通過 ssh 登入目標機器,支援密碼登入或 ssh authorized_key 登入。
如使用 docker 方式部署,依賴詳見如何使用 docker 方式部署 tidb,預設為 binary 部署方式。
部署目標機器若干
建議4台及以上,tikv 至少3例項,且與 tidb、pd 模組不位於同一主機,詳見部署建議。
linux 作業系統,x86_64 架構(amd64),核心版本建議 3.10 以上,推薦 centos 7.3 及以上版本, 檔案系統推薦 ext4(部分核心版本 xfs 檔案系統有 bug, 本工具檢查到 xfs 檔案系統有 bug 會退出)。
機器之間網路互通,防火牆、iptables 等可以在部署驗證時關閉,後期開啟。
機器的時間、時區設定正確(要求機器時間同步),有 ntp 服務可以同步正確時間, ubuntu 系統需單獨安裝 ntpstat 軟體包,詳見如何檢測 ntp 服務是否正常。
若使用普通使用者作為 ansible ssh 遠端連線使用者,該使用者需要有 sudo 到 root 許可權,或直接使用 root 使用者遠端連線。
python 2.6 或 python 2.7。
如使用 docker 方式部署,依賴詳見如何使用 docker 方式部署 tidb,預設為 binary 部署方式。
在中控機器上安裝配置 ansible
按照 官方手冊 安裝 ansible,推薦使用 ansible 2.3 及以上版本。 安裝完成後,可通過 ansible --version 檢視版本。
git clone -b release-1.0
git clone -b release-2.0 -- 最新版本
git clone
ansible-playbook bootstrap.yml
如果ansible 使用root使用者遠端連線需要密碼,使用 -k 引數 ,執行playbook ,同理:
ansible-playbook bootstrap.yml -k
ansible-playbook bootstrap.yml
如果是非ssd 測試的話 ,最好將如下的內容注釋掉
# name: machine benchmark
# hosts: tikv_servers
# gather_facts: false
# roles:
# -
部署 tidb 集群軟體
ansible-playbook deploy.yml -k
啟動tidb 集群
ansible-playbook start.yml -k
測試集群
測試連線 tidb 集群,推薦在 tidb 前配置負載均衡來對外統一提供 sql 介面。
使用 mysql 客戶端連線測試,tcp 4000 埠是 tidb 服務預設埠。
[root@tidb1 ~]# netstat -anp | grep 4000
tcp6 0 0 :::4000 :::* listen 39591/bin/tidb-serv
tcp6 0 0 192.168.137.161:4000 192.168.137.1:14022 established 39591/bin/tidb-serv
tcp6 0 0 192.168.137.161:4000 192.168.137.1:14018 established 39591/bin/tidb-serv
msql -u root -h 192.168.137.161 -p 4000
[root@tidb1 ~]# mysql -h 127.0.0.1 -uroot -p 4000 -d mysql
bash: mysql: command not found.
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum install -y mysql-community-client.x86_64
測試 [root@tidb1 ~]# mysql -h 127.0.0.1 -uroot -p 4000
mysql -h 192.168.137.161 -uroot -p 4000
mysql -h 192.168.137.161 -uroot -p 4000 -d mysql
=== 監控 ==
密碼:admin/admn
==== 運維
ansible-playbook stop.yml 關閉資料庫
=== 銷毀集群
ansible-playbook stop.yml 停用集群
ansible-playbook unsafe_cleanup.yml 銷毀集群
CentOS 7 安裝 配置
本例為 minimal iso 版本 centos 與 rhel 是同源,所以,在 centos 文件不足時,可以參考 rhel 的文件。本例子環境為 windows 可以使用 fedora liveusb creator 或者 ultraiso 等工具來把系統寫入 u盤,而後通過u盤啟動來安裝系統...
CentOS7 安裝配置 vsftpd
yum install y vsftpdvi etc vsftpd vsftpd.confanonymous enable no anonymous enable yes chroot local user yes 去掉前面的注釋 chroot list enable yes chroot list...
CentOS 7 安裝配置FTP
安裝vsftpd yum install y vsftpd編輯ftp配置檔案 vi etc vsftpd vsftpd.conf anonymous enable no anonymous enable yes chroot local user yes 去掉前面的注釋 chroot list en...