DM集群对环境要求如下:
1、部署目标机器若干,配置如下:
2、一台中控机,配置如下:
注意:这里需要使用root用户登陆
# yum -y install epel-release git curl sshpass
# yum -y install python-pip
1、创建tidb用户
# useradd -m -d /home/tidb tidb
2、为tidb用户设置密码
# passwd tidb
3、在在 sudo 文件尾部加上 tidb ALL=(ALL) NOPASSWD: ALL,为 tidb 用户设置免密使用 sudo。
# visudo
tidb ALL=(ALL) NOPASSWD: ALL
4、生成SSH密钥
执行以下 su 命令,将登陆用户从 root 切换至 tidb。
su - tidb
执行命令生成密钥,以下命令执行后一路回车
ssh-keygen -t rsa
1、这里下载请确保用户登陆的是tidb用户,打开/home/tidb目录
cd /home/tidb
2、执行以下命令下载
wget http://download.pingcap.org/dm-ansible-{version}.tar.gz 版本有v1.0.0-alpha、lates
1、在中控机上安装 DM-Ansible 及其依赖包
$ tar -xzvf dm-ansible-latest.tar.gz
$ mv dm-ansible-latest dm-ansible
$ cd /home/tidb/dm-ansible
$ sudo pip install -r ./requirements.txt
Ansible 和相关依赖包含于 dm-ansible/requirements.txt 文件中。
2、安装好后查看Ansible版本
$ ansible --version
ansible 2.6.15
注意:这里得确保中控机登陆的是tidb用户
1、将需要部署的目标机器IP添加至host.ini文件中的sercers部分
#编辑文件添加目标机器IP
vi hosts.ini
ip1
ip2
ip3
……
2、运行如下命令,然后输入部署目标机器的 root 用户密码。
ansible-playbook -i hosts.ini create_users.yml -u root -k
这里要求中控机要连接外网,在中控机上运行如下命令:
ansible-playbook local_prepare.yml
vi inventory.ini
# 配置上游数据库信息 source_id代表DM-worker绑定到的一个数据库实例或是具有主从架构的复制组
# 配置上游数据库信息
dm_worker1 ansible_host=ip1
server_id=101
source_id="mysql-replica-01"
mysql_host=58.16.181.23
mysql_user=root
mysql_password='VjX8cEeTX+qcvZ3bPaO4h0C80pe/1aU='
mysql_port=3306
cd /home/tidb/dm-ansible/resources/bin
$ ./dmctl -encrypt rOOT!!2019
Y3dTmN/ZSr+e5xUt0bFjfkBjcO++og==
编辑 deploy_dir 变量以配置部署目录。
dm-master ansible_host=172.16.10.71 deploy_dir=/data1/deploy
首次启动 DM-worker 时,您需要配置 relay_binlog_name 变量以指定 DM-worker 拉取上游 MySQL 或 MariaDB binlog 的起始位置,如果是全量 + 增量 就是 all 模式的话就不需要指定replay log同步位置
在数据同步之前需要检查系统端口是否开放,检查步骤
1)检查端口
netstat -tlunp #执行此命令查看已经开放的端口
2)开启端口需要防火墙处于运行状态
systemctl start firewalld #开启防火墙
进入到DM工具包文件夹下执行以下命令启动DM集群
ansible-playbook start.yml
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_43129750/article/details/103292116
内容来源于网络,如有侵权,请联系作者删除!