吐血实践-TiDB离线安装

在内网离线安装TiDB,测试安装了很久,终于实践成功,整理成章,便后查看。

tidb离线安装
参考官网:https://pingcap.com/docs-cn/stable/how-to/deploy/orchestrated/offline-ansible/

1、准备工作
4台机器
1台中控机(若中控机可以联网则不需要另外的下载机)
192.168.1.66(TiDB、PD)
3台目标机器
10.10.77.100(tikv)
10.10.77.101(tikv)
10.10.77.107(tikv)
文件夹中的tidb-ansible是在下载机(可以连接外网的机器)运行过ansible-playbook local_prepare.yml的
2、依赖包
在中控机上安装系统依赖包,该离线包仅支持 CentOS 7 系统,包含 pip 及 sshpass
在官网的离线部署对应安装部分下载依赖包
ansible-system-rpms.el7.tar.gz
安装依赖包
tar -xzvf ansible-system-rpms.el7.tar.gz &&
cd ansible-system-rpms.el7 &&
chmod u+x install_ansible_system_rpms.sh &&
./install_ansible_system_rpms.sh
安装完成后,可通过 pip -V 验证 pip 是否安装成功
pip -V
在这里插入图片描述

3、创建用户
在中控机上创建 tidb 用户,并生成 ssh key
以 root 用户登录中控机,执行以下步骤:
创建 tidb 用户
useradd -m -d /home/tidb tidb
设置 tidb 用户密码,运行一下命令后,输入密码两次
passwd tidb
配置 tidb 用户 sudo 免密码,将 tidb ALL=(ALL) NOPASSWD: ALL 添加到文件末尾即可
visudo
添加如下内容
tidb ALL=(ALL) NOPASSWD: ALL

生成 SSH key
执行 su 命令,从 root 用户切换到 tidb 用户下。
su - tidb
创建 tidb 用户 SSH key,提示 Enter passphrase 时直接回车即可。执行成功后,SSH 私 钥文件为 /home/tidb/.ssh/id_rsa,SSH 公钥文件为 /home/tidb/.ssh/id_rsa.pub。
ssh-keygen -t rsa

4、离线安装 Ansible
在中控机器上离线安装 Ansible 及其依赖
建议使用 Ansible 2.4 至 2.7.11 版本,Ansible 及相关依赖版本记录在 tidb-ansible/requirements.txt 文件中。下面步骤以安装 Ansible 2.5 为例。
下载安装包
在官网的对应位置下载Ansible 2.5 离线安装包(可以联网的机器),然后上传至中控机。
离线安装
tar -xzvf ansible-2.5.0-pip.tar.gz &&
cd ansible-2.5.0-pip/ &&
chmod u+x install_ansible.sh &&
./install_ansible.sh
测试
ansible --version
在这里插入图片描述

卸载ansible
pip uninstall ansible

5、下载 TiDB Ansible 及 TiDB
在下载机上下载 TiDB Ansible 及 TiDB 安装包
git clone -b v3.0.2 https://github.com/pingcap/tidb-ansible.git
下载完成后,进入到执行以下命令:
cd tidb-ansible
ansible-playbook local_prepare.yml
下载了很多相关的包,tispark等。全程控制台输出的日志是绿色或黄色,红色便是有报错。最后全部下载完成后是这样的:
在这里插入图片描述

将执行完以上命令之后的 tidb-ansible 文件夹拷贝到中控机 /home/tidb 目录下,文件属主权限需是 tidb 用户。
scp -r tidb-ansible tidb@192.168.1.66:/home/tidb
(注意这里的用户要是tidb,不能是root否则在后面安装过程中会报各种错误)

6、SSH互信
以 tidb 用户登录中控机,然后执行以下步骤:
将你的部署目标机器 IP 添加到 hosts.ini 文件的 [servers] 区块下
cd /home/tidb/tidb-ansible &&
vi hosts.ini
在这里插入图片描述

在中控机上配置部署机器 SSH 互信及 sudo 规则
ansible-playbook -i hosts.ini create_users.yml -u root -k
该步骤将在部署目标机器上创建 tidb 用户,并配置 sudo 规则,配置中控机与部署目标机器之间的 SSH 互信。
手工设置链接如下:
https://pingcap.com/docs-cn/stable/how-to/deploy/orchestrated/ansible/#%E5%A6%82%E4%BD%95%E6%89%8B%E5%B7%A5%E9%85%8D%E7%BD%AE-ssh-%E4%BA%92%E4%BF%A1%E5%8F%8A-sudo-%E5%85%8D%E5%AF%86%E7%A0%81

7、NTP服务
在部署目标机器上安装 NTP 服务, 如果你的部署目标机器时间、时区设置一致,已开启 NTP 服务且在正常同步时间,此步骤可忽略。该步骤将在部署目标机器上使用系统自带软件源联网安装并启动 NTP 服务,服务使用安装包默认的 NTP server 列表,见配置文件 /etc/ntp.conf 中 server 参数,如果使用默认的 NTP server,你的机器需要连接外网。 为了让 NTP 尽快开始同步,启动 NTP 服务前,系统会 ntpdate hosts.ini 文件中的 ntp_server 一次,默认为 pool.ntp.org,也可替换为你的 NTP server。
以 tidb 用户登录中控

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值