TIDB集群配置

TiDB Ansible 部署方案 (官方推荐至少部署 3 个 TiKV, 3 个 PD,2 个 TiDB)
https://github.com/pingcap/docs-cn/blob/master/op-guide/ansible-deployment.md




#使用 Ansible 方式部署时,TiKV 及 PD 节点数据目录所在磁盘请使用 SSD 磁盘,否则无法通过检测
#数据盘请使用 ext4 文件系统,挂载 ext4 文件系统时请添加 nodelalloc 挂载参数,可参考数据盘 ext4 文件系统挂载参数。
# vi /etc/fstab    /dev/sdb1 /u01 ext4 defaults,nodelalloc,noatime 0 2

以上需要使用ssd,只是官方由于性能问题,推荐这么做,实际 1核2G内存,80G的机械硬盘,在初始化的时候会抛出警告性能,测试环境可以无视


#所有服务器关闭防火墙
systemctl stop firewalld
systemctl disable firewalld




#所有服务器机器的时间、时区设置一致,开启 NTP 服务且在正常同步时间  (centos7.2以后自带chronyd时间同步服务需要停止)
systemctl disable chronyd
systemctl stop chronyd
yum install -y ntp
systemctl enable ntpd
#ntpdate pool.ntp.org
systemctl restart ntpd
ntpstat






#中控机器上安装 Ansible 并查看对应版本,确保是 Ansible 2.4 及以上版本
yum install -y epel-release ansible curl git
ansible --version




#在中控机器上 创建 tidb  用户
useradd  -u 1200  tidb
#passwd tidb
su - tidb
ssh-keygen -t rsa




#中控机器上下载 TiDB-Ansible  (生产环境请下载 GA 版本部署 TiDB)
cd /home/tidb
git clone -b release-1.0 https://github.com/pingcap/tidb-ansible.git




#配置tidb 用户可以免密码 sudo 到 root 用户,可参考如何配置 ssh 互信及 sudo 免密码
cd tidb-ansible
cat > hosts.ini << EOF
[servers]
192.168.121.206
192.168.121.207
192.168.121.208
192.168.121.216
192.168.121.217
192.168.121.218
192.168.121.226
192.168.121.227
192.168.121.228


[all:vars]
username = tidb
ntp_server = pool.ntp.org
EOF


#执行以下命令,按提示输入部署目标机器 root 密码
ansible-playbook -i hosts.ini create_users.yml -k


# 验证 ssh 互信及 sudo 免密码
#[tidb@localhost tidb-ansible]$ ssh 192.168.121.*
#[tidb@localhost ~]$ sudo su -
#[root@localhost tidb]# 




#######################################################################分配机器资源,编辑 inventory.ini 文件
cat > inventory.ini << EOF
## TiDB Cluster Part
[pd_servers]
192.168.121.206
192.168.121.207
192.168.121.208


#自定义客户端连接端口
[tidb_servers]
192.168.121.216  tidb_port=5919
192.168.121.217  tidb_port=5919
192.168.121.218  tidb_port=5919


[tikv_servers]
192.168.121.226  labels="host=tikv1"
192.168.121.227  labels="host=tikv2"
192.168.121.228  labels="host=tikv3"


[spark_master]


[spark_slaves]


## Monitoring Part
# prometheus and pushgateway servers
[monitoring_servers]
192.168.121.216


[grafana_servers]
192.168.121.216


# node_exporter servers
[monitored_servers]
192.168.121.206
192.168.121.207
192.168.121.208
192.168.121.216
192.168.121.217
192.168.121.218
192.168.121.226
192.168.121.227
192.168.121.228


## Binlog Part
[pump_servers:children]
tidb_servers


## Group variables
[pd_servers:vars]
# location_labels = ["zone","rack","host"]


## Global variables
[all:vars]
deploy_dir = /u01/tidata


## Connection
# ssh via normal user
ansible_user = tidb


# ssh via root:
# ansible_user = root
# ansible_become = true
# ansible_become_user = tidb


cluster_name = tidb-cluster


tidb_version = v1.0.8


# 部署方式,默认为 binary [binary, docker]
deployment_method = binary


# 进程监管方式 [systemd, supervise]
process_supervision = systemd


# timezone of deployment region
timezone = Asia/Shanghai
set_timezone = True


enable_firewalld = False
# check NTP service
enable_ntpd = True
machine_benchmark = True
# 根据 IP 修改部署目标机器主机名
set_hostname = False


## binlog trigger
enable_binlog = False
# zookeeper address of kafka cluster, example:
# zookeeper_addrs = "192.168.0.11:2181,192.168.0.12:2181,192.168.0.13:2181"
zookeeper_addrs = ""


# KV mode
deploy_without_tidb = False


# TiDB 慢查询日志记录到单独文件({{ deploy_dir }}/log/tidb_slow_query.log),默认为 False,记录到 tidb 日志
# enable_slow_query_log
EOF
#######################################################################分配机器资源,编辑 inventory.ini 文件




#执行以下命令如果所有 server 返回 tidb 表示 ssh 互信配置成功。
ansible -i inventory.ini all -m shell -a 'whoami'
#执行以下命令如果所有 server 返回 root 表示 tidb 用户 sudo 免密码配置成功。
ansible -i inventory.ini all -m shell -a 'whoami' -b
#下载 TiDB binary
ansible-playbook local_prepare.yml


#初始化系统环境,修改内核参数
ansible-playbook bootstrap.yml
#部署 TiDB 集群软件
ansible-playbook deploy.yml
#启动 TiDB 集群
ansible-playbook start.yml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值