腾讯TDSQL MySQL版部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯TDSQL MySQL版部署相关的知识,希望对你有一定的参考价值。

部署前准备

1、准备三台主机(虚拟机或物理机均可) 2、主机安装Centos7.x系统 3、配置yum源可用,外网可用,时间同步

开始部署

解压

在主节点进行解压

unzip tdsql_10.3.19.6.0.zip

配置免密钥登陆

cd tdsql_10.3.19.6.0/tdsql_install/scripts
vim ip_passwd_list

将主机IP地址和密码填写进来,一行一条,并且最后面不允许空格

10.10.10.136 12345678
10.10.10.137 12345678
10.10.10.138 12345678

测试免密钥登陆是否成功 sh nokey.sh 此步骤会在~/.ssh/authorized_keys添加公钥,如果此前添加过公钥就会报错 此时有两条公钥 这里就会报错无法解析 因为我此前安装过一次了所以这里报错。

安装必选组件

设置UTF-8编码

临时设置安装过程中文编码以免安装过程出现乱码看不清

export LANG=en_US.UTF-8

修改tdsql_hosts文件

编辑tdsql_install/tdsql_hosts自定义各个节点需要安装的组件

# 填入所有机器的地址(包括主控机)
# 用于环境检测和初始化配置
# 同一个标签组内的ip地址不要重复,一个ip一行
# 序号从1递增,比如只有2台机器,那么序号保留tdsql_mac1 tdsql_mac2
# 后续如果有扩容,新扩容的机器也需要在这里补上
[tdsql_allmacforcheck]
tdsql_mac1 ansible_ssh_host=10.10.10.136
tdsql_mac2 ansible_ssh_host=10.10.10.137
tdsql_mac3 ansible_ssh_host=10.10.10.138
# zookeeper机器ip地址
# 数量只能是1、3、5, 正式环境建议3台或者5台
# 如果是使用自己已有的zk集群,这里同样要填写正确的zk地址
[tdsql_zk]
tdsql_zk1 ansible_ssh_host=10.10.10.136
tdsql_zk2 ansible_ssh_host=10.10.10.137
tdsql_zk3 ansible_ssh_host=10.10.10.138
# scheduler机器的ip地址,正式环境建议2个
[tdsql_scheduler]
tdsql_scheduler1 ansible_ssh_host=10.10.10.137
tdsql_scheduler2 ansible_ssh_host=10.10.10.138
# oss机器的ip地址, 正式环境建议2个
[tdsql_oss]
tdsql_oss1 ansible_ssh_host=10.10.10.137
tdsql_oss2 ansible_ssh_host=10.10.10.138
# 赤兔机器的ip地址, 正式环境建议2个
[tdsql_chitu]
tdsql_chitu1 ansible_ssh_host=10.10.10.137
# 监控采集模块的IP地址,正式环境建议2个
[tdsql_monitor]
tdsql_monitor1 ansible_ssh_host=10.10.10.137
tdsql_monitor2 ansible_ssh_host=10.10.10.138
# db机器地址
# 有多少台就填多少个ip地址
# 注意tdsql_db序号逐个递增,不要跳跃
[tdsql_db]
tdsql_db1 ansible_ssh_host=10.10.10.136
tdsql_db2 ansible_ssh_host=10.10.10.137
# proxy机器地址
[tdsql_proxy]
tdsql_proxy1 ansible_ssh_host=10.10.10.136
tdsql_proxy2 ansible_ssh_host=10.10.10.137
# hdfs机器地址
# 机器数量只能是1台或者3台
# 如果单节点部署,则只保留tdsql_hdfs1,其他删除
# 正式环境建议高可用部署,初始安装数量只能3台
[tdsql_hdfs]
#tdsql_hdfs1 ansible_ssh_host=10.10.10.136
#tdsql_hdfs2 ansible_ssh_host=10.10.10.137
#tdsql_hdfs3 ansible_ssh_host=10.10.10.138
# lvs机器地址,数量固定2台
[tdsql_lvs]
#tdsql_lvs1 ansible_ssh_host=10.10.10.137
#tdsql_lvs2 ansible_ssh_host=10.10.10.138
# kafka机器地址,数量固定3台
[tdsql_kafka]
tdsql_kafka1 ansible_ssh_host=10.10.10.136
tdsql_kafka2 ansible_ssh_host=10.10.10.137
tdsql_kafka3 ansible_ssh_host=10.10.10.138
# 多源同步消费者服务ip地址,数量固定1台
[tdsql_consumer]
tdsql_consumer1 ansible_ssh_host=10.10.10.137
# es机器地址
[tdsql_es]
tdsql_es1 ansible_ssh_host=10.10.10.136
[tdsql_mc]
tdsql_mc1 ansible_ssh_host=10.10.10.136
tdsql_mc2 ansible_ssh_host=10.10.10.137
tdsql_mc3 ansible_ssh_host=10.10.10.138
[tdsql_newdb]
tdsql_newdb1 ansible_ssh_host=10.10.10.136
tdsql_newdb2 ansible_ssh_host=10.10.10.137
tdsql_newdb3 ansible_ssh_host=10.10.10.138
[tdsql_ansible_test]
tdsql_ansible_test1 ansible_ssh_host=10.10.10.136
tdsql_ansible_test2 ansible_ssh_host=10.10.10.137
tdsql_ansible_test3 ansible_ssh_host=10.10.10.138

**说明:**此处需要注意的是各个组件前面的名称不需要修改,只要修改后面的ip地址即可,组件名称是固定的,修改了安装后会报找不到

修改group_vars/all文件

此文件为ansible环境变量

vi ansible_vars/all
# 操作系统账号tdsql的明文密码
# 如果有规划要部署两个集群做DCN同步, 则这两个集群的tdsql密码要一致
tdsql_os_pass: 12345678
# tdsql在zk上的根路径, 保持默认不允许修改
tdsql_zk_rootdir: /tdsqlzk
# zk机器的域名配置, 会写入各配置文件, 并将域名配置到/etc/hosts中
# 正式环境必须用机房或者地区的关键字, 有意义的关键字来命名
# 如果部署多套TDSQL集群, 则名字需要唯一
# 例如: 深圳机房zk的域名可以定义为tdsql_sz_zk
tdsql_zk_domain_name: tdsql_test_zk
# zk端口配置, 保持默认不要改,如果是自建的zk, 则和已有zk端口保持一致
tdsql_zk_clientport: 2118
tdsql_zk_serverport1: 2338
tdsql_zk_serverport2: 2558
# zk的ACL级别, 支持WEAK和STRONG
# WEAK模式下访问zk数据无需鉴权,STRONG模式下访问需要鉴权
# 该配置为19.3版本引入, 在此之前的版本中是固定用WEAK
tdsql_zk_acl: WEAK
# 赤兔监控库配置, 赤兔初始化完成后需要将监控库信息在这里更新
# 下面信息需要时修改,注意不能配置空值
tdsql_metadb_ip: 10.10.10.136
tdsql_metadb_port: 15065
tdsql_metadb_ip_bak: 10.10.10.137
tdsql_metadb_port_bak: 15065
tdsql_metadb_user: hanlon
tdsql_metadb_password: 123456
# hdfs机器的ssh端口
tdsql_hdfs_ssh: 22
# hdfs数据目录, 正式环境要求mount挂载比较大的数据盘
tdsql_hdfs_datadir: /data2/hdfs,/data3/hdfs,/data4/hdfs
# kafka日志目录,正式环境要求mount挂载比较大的数据盘
tdsql_kafka_logdir: /data2/kafka,/data3/kafka,/data4/kafka
# es7配置
tdsql_es7_mem: 4
tdsql_es7_base_path: /data1/es
tdsql_helper_cluster_name: tdsql
# 资源分配模式,仅支持fixed和comb配置
# 迭代19版本开始默认使用comb自由分配
tdsql_res_mngr: comb
update_tdsqlinstall_packet: mysqlagent
tdsql_mc_netif: ens192

**说明:**一般来说这里只需要修改tdsql_os_pass这个值,这个值是各个主机的root密码,另外tdsql_mc_netif这个值是mc的网卡名称,也就是mc要安装在哪个主机的网卡名称这里注意一下有的是叫eth0

在主节点上安装ansile

sh scripts/install_ansible.sh

此步骤有点久,可能需要等一小会儿,安装后查看是否安装成功

ansible --version

执行安装part1

ansible-playbook -i tdsql_hosts playbooks/tdsql_part1_site.yml

**说明:**此步骤也要等个十几二十分钟,如果安装过程失败,kill所有tdsql和nginx用户下的进程,重启OS,再重新执行以上ansible安装命令 安装后ansilbe会返回全都是绿色或黄色状态,最后会给出一个赤免登陆地址,如果安装出错查看/var/log/ansible.log。

初始化赤免环境

浏览器访问赤免地址并要要求填写相关信息,主要是zookeeper地址要填写对,三个主机都有zookeeper,填写三个IP:PORT,填完zookeeper地址,自动测试对后会自动填写其他信息

集群初始化

这里的初始化因为我已经初始化过了,没法再演示了,就参考腾讯的文档初始化部分 https://cloud.tencent.com/privatecloud/document/88286035277017088/88286038435328000 说明: 1、设备机型面板上的机型:要创建两个一个proxy一个db,否则后面创建实例的时候选不到机型 2、后面的创建数据库实例的步骤中要选择正确的主备模式 我只有2个db节点所以选一主一备

安装mc

因为前面配置过hosts文件这里直接执行ansible安装

ansible-playbook -i tdsql_hosts playbooks/tdsql_mc.yml

**说明:**需要注意的是mc需要前面的步骤执行完才能执行,安装过程大概也要十几二十分钟 安装完执行curl进行确认是否安装成功

curl -X GET http://10.10.10.138:12379/meta-cluster/api/get-ts/1/10

  "count": 10,
  "txn_ts": 433843558626099210

授权管理

安装必选组件最后一步会要求你提供授权文件,或者先跳过,后面"系统管理->软件授权"中更新授权文件。

最终的赤免平台是这样的

使用navicat连接

这里的mysql最终端口是在实例管理里面查看到的端口

以上是关于腾讯TDSQL MySQL版部署的主要内容,如果未能解决你的问题,请参考以下文章

腾讯云TDSQL MySQL版 - 开发指南兼容性

腾讯云TDSQL MySQL版 - 开发指南 二级分区

腾讯云TDSQL MySQL版 - 平台侧安全设计

腾讯云TDSQL MySQL版 -使用常见问题

腾讯云TDSQL MySQL版 - 开发指南使用限制

腾讯云 TDSQL MySQL版-开发指南概述