[ansible]-centos7.4 ansible安装tidb

Centos7.4 安装tidb

10.6.11.174

10.6.11.246

10.6.11.247

官方文档提示建议使用7.3以上系统 

https://www.pingcap.com/docs-cn/op-guide/ansible-deployment/

自己亲自尝试了使用centos6.10安装,提示报错。的确不支持centos6.10,附上centos6.10的图。

 

#选择10.6.11.174作为主控节点

#登录10.6.11.174

#执行

yum -y install epel-release git curl sshpass

yum -y install python-pip

 

#创建 tidb 用户   并修改tidb的密码

#主控机子

useradd -m -d /home/tidb tidb

echo "1233456" | passwd --stdin tidb

 

#node机子

useradd  tidb

echo "1233456" | passwd --stdin tidb

 

#配置 tidb 用户 sudo 免密码,

 tidb ALL=(ALL) NOPASSWD: ALL 添加到文件末尾即可。

 

 

#生成 ssh key: 执行 su 命令从 root 用户切换到 tidb 用户下。

#创建 tidb 用户 ssh key, 提示 Enter passphrase 时直接回车即可。执行成功后,ssh 私钥文件为 /home/tidb/.ssh/id_rsa  ssh 公钥文件为 /home/tidb/.ssh/id_rsa.pub 

 

su -tidb

ssh-keygen -t rsa

 

 

 

#查看安装的ansible版本

yum –y install ansible

 

 

ansible --version

sudo yum –y install git

cd /home/tidb

git clone -b release-2.0 https://github.com/pingcap/tidb-ansible.git

 

 

#在中控机上配置部署机器 ssh 互信及 sudo 规则

cat >/home/tidb/tidb-ansible/hosts.ini<<EOF

[servers]

10.6.11.174

10.6.11.246

10.6.11.247

[all:vars]

username = tidb

ntp_server = pool.ntp.org

EOF

 

 

#执行以下命令,按提示输入部署目标机器 root 用户密码。该步骤将在部署目标机器上创建 tidb 用户,并配置 sudo 规则,配置中控机与部署目标机器之间的 ssh 互信。

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

 

#执行下面命令

su tidb

cd /home/tidb/tidb-ansible/

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

 

#安装ntp  跳过会报错

cd /home/tidb/tidb-ansible

ansible-playbook -i hosts.ini deploy_ntp.yml -u tidb -b

 

 

 

 

 

 

#CPUfreq 调节器模式 跳过

#在部署目标机器上添加数据盘 ext4 文件系统挂载参数 跳过

 

#分配机器资源,编辑 inventory.ini 文件

cat >/home/tidb/tidb-ansible/inventory.ini <<EOF

## TiDB Cluster Part

[tidb_servers]

10.6.11.248

 

[tikv_servers]

10.6.11.249

10.6.11.252

 

[pd_servers]

10.6.11.248

10.6.11.249

 

[spark_master]

10.6.11.248

 

[spark_slaves]

10.6.11.249

10.6.11.252

 

## Monitoring Part

# prometheus and pushgateway servers

[monitoring_servers]

10.6.11.248

 

[grafana_servers]

10.6.11.248

 

# node_exporter and blackbox_exporter servers

[monitored_servers]

10.6.11.248

10.6.11.249

10.6.11.252

 

[alertmanager_servers]

10.6.11.248

## Binlog Part

[pump_servers:children]

tidb_servers

 

## Group variables

[pd_servers:vars]

# location_labels = ["zone","rack","host"]

 

## Global variables

[all:vars]

deploy_dir = /opt/deploy

 

## Connection

# ssh via normal user

ansible_user = tidb

 

# ssh via root:

# ansible_user = tidb

# ansible_become = true

# ansible_become_user = root

 

cluster_name = test-cluster

tidb_version = v2.0.0-rc.3

 

# deployment methods, [binary, docker]

deployment_method = binary

 

# process supervision, [systemd, supervise]

process_supervision = systemd

 

# timezone of deployment region

timezone = Asia/Shanghai

set_timezone = True

 

enable_firewalld = False

# check NTP service

enable_ntpd = True

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 = ""

 

# store slow query log into seperate file

enable_slow_query_log = False

 

 

# enable TLS authentication in the TiDB cluster

enable_tls = False

 

# KV mode

deploy_without_tidb = False

 

# Optional. Set if you already have a alertmanager server.

# Format: alertmanager_host:alertmanager_port

alertmanager_target = ""

EOF

 

sudo  whoami       返回root

 

#执行以下命令如果所有 server 返回 root 表示 tidb 用户 sudo 免密码配置成功。

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

 

 

#执行 local_prepare.yml playbook,联网下载 TiDB binary 到中控机

ansible-playbook local_prepare.yml

 

 

 

 

 

 

#初始化系统环境,修改内核参数

cat >/etc/sysctl.conf<<EOF

net.core.somaxconn = 32768

vm.swappiness = 0

net.ipv4.tcp_syncookies = 0

fs.file-max = 1000000

vm.overcommit_memory = 0

EOF

 

sysctl -p

 

 

 

#3台机子都要执行

swapoff -a

chown -R tidb:root /etc/security/

chown -R tidb:root /etc/sysconfig/

 

#因为不是ssh硬盘达不到要求 所以这个配置需要修改 否则通不过检测

 

#执行

ansible-playbook bootstrap.yml

 

#设置ntpd 开机启动3台机子都需要执行

systemctl start ntpd

systemctl enable ntpd

 

#部署

ansible-playbook deploy.yml

 

#启动集群

ansible-playbook start.yml

 

 

 

 

#测试

yum -y install mysql

mysql -u root -h 172.16.10.1 -P 4000

 

#连接成功

 

升级更新

提一个升级的时候遇到的问题

 

升级tikv的时候 tikv机子上配置文件更新了 但是配置有问题了。新版本不支持旧版本的时间格式。

之前2.0.0-r3是1d  但是升级到2.1.0-r3 之后不支持1d ,错误日志会输出在tikv_stderr.log中。需要把main.yml中的1d替换成24h

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爷来辣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值