目录
基础环境说明
TDSQL 集群架构设计
基础部署
1.配置主机名
2.添加主机名IP映射
3.开启时间同步
4.规划存储目录
TDSQL下载
TDSQL配置
1.配置免密登录
2.修改tdsql_hosts文件
3.配置tdsql密码
4.修改ansible变量
5.安装ansible
TDSQL安装
赤兔初始化
1.环境检测
2.集群配置
3.集群初始化
4.新增IDC配置
5.新增db机器的机型
6.新增网关机器的机型
7.上报db设备资源
8.上报网关资源
9.新增网关组
10.创建实例
11.配置数据库
12.授权许可文件
CentOS 7.9
4台虚拟主机(CPU:4C/MEM:8G/HDD:100G)
三台主机为集群主机
192.168.5.129 |
192.168.5.130 | 192.168.5.131 | |
zk |
Y |
Y |
Y |
scheduler |
Y |
Y |
|
oss |
Y |
Y |
|
chitu |
Y |
Y |
|
monitor(采集监控) |
Y |
Y |
|
db |
Y |
Y |
|
proxy |
Y |
Y |
|
hdfs |
Y |
另外一台192.168.5.132为主控机
# 每台主机分别设置主机名
hostname td129
hostname td130
hostname td131
hostname td132
# 每台主机都执行
vim /etc/hosts
192.168.5.129 td129
192.168.5.130 td130
192.168.5.131 td131
192.168.5.132 td132
安装ntp软件包
# 所有主机都要安装
yum -y install ntp
配置时间同步服务主机
以td129主机为时间同步服务主机,其他主机从该主机同步时间
# td129主机添加配置
vim /etc/ntp.conf
server 127.127.1.0 iburst
systemctl restart ntpd.service
其他主机配置时间同步
# 剩余三台主机都执行
vim /etc/ntp.conf
server 192.168.5.129
restrict 192.168.5.129 mask 255.255.255.0 nomodify notrap
systemctl restart ntpd.service
# 所有主机执行
mkdir -p /data
mkdir -p /data1
下载腾讯云独立输出TDSQL(软件介质)
wget https://tdsql1031730-1300276124.cos.ap-beijing.myqcloud.com/tdsql_10.3.17.3.0.zip
unzip tdsql_10.3.17.3.0.zip
在主控机节点td132上配置到所有主机免密登录
cd /root/tdsql_10.3.17.3.0/tdsql_install/scripts
vim ip_passwd_lis
sh nokey.sh
执行完成后,免密登录配置完成。
避免中文乱码,首先执行
export LANG='en_US.UTF-8'
修改tdsql_hosts文件
cd /root/tdsql_10.3.17.3.0/tdsql_install
vim tdsql_hosts
[tdsql_allmacforcheck]
tdsql_mac1 ansible_ssh_host=192.168.5.129
tdsql_mac2 ansible_ssh_host=192.168.5.130
tdsql_mac3 ansible_ssh_host=192.168.5.131
tdsql_mac4 ansible_ssh_host=192.168.5.132
[tdsql_zk]
tdsql_zk1 ansible_ssh_host=192.168.5.129
tdsql_zk2 ansible_ssh_host=192.168.5.130
tdsql_zk3 ansible_ssh_host=192.168.5.131
[tdsql_scheduler]
tdsql_scheduler1 ansible_ssh_host=192.168.5.130
tdsql_scheduler2 ansible_ssh_host=192.168.5.131
[tdsql_oss]
tdsql_oss1 ansible_ssh_host=192.168.5.130
tdsql_oss2 ansible_ssh_host=192.168.5.131
[tdsql_chitu]
tdsql_chitu1 ansible_ssh_host=192.168.5.130
tdsql_chitu2 ansible_ssh_host=192.168.5.131
[tdsql_monitor]
tdsql_monitor1 ansible_ssh_host=192.168.5.130
tdsql_monitor2 ansible_ssh_host=192.168.5.131
[tdsql_db]
tdsql_db1 ansible_ssh_host=192.168.5.129
tdsql_db2 ansible_ssh_host=192.168.5.130
tdsql_db3 ansible_ssh_host=192.168.5.131
[tdsql_proxy]
tdsql_proxy1 ansible_ssh_host=192.168.5.129
tdsql_proxy2 ansible_ssh_host=192.168.5.130
tdsql_proxy3 ansible_ssh_host=192.168.5.131
[tdsql_hdfs]
tdsql_hdfs1 ansible_ssh_host=192.168.5.129
[tdsql_lvs]
tdsql_lvs1 ansible_ssh_host=192.168.5.130
tdsql_lvs2 ansible_ssh_host=192.168.5.131
[tdsql_kafka]
tdsql_kafka1 ansible_ssh_host=192.168.5.129
tdsql_kafka2 ansible_ssh_host=192.168.5.130
tdsql_kafka3 ansible_ssh_host=192.168.5.131
[tdsql_consumer]
tdsql_consumer1 ansible_ssh_host=192.168.5.129
[tdsql_es]
tdsql_es1 ansible_ssh_host=192.168.5.129
[tdsql_mc]
tdsql_mc1 ansible_ssh_host=1.1.1.1
tdsql_mc2 ansible_ssh_host=1.1.1.1
tdsql_mc3 ansible_ssh_host=1.1.1.1
[tdsql_newdb]
tdsql_newdb1 ansible_ssh_host=1.1.1.1
tdsql_newdb2 ansible_ssh_host=2.2.2.2
tdsql_newdb3 ansible_ssh_host=3.3.3.3
[tdsql_ansible_test]
tdsql_ansible_test1 ansible_ssh_host=1.1.1.1
tdsql_ansible_test2 ansible_ssh_host=2.2.2.2
tdsql_ansible_test3 ansible_ssh_host=3.3.3.3
# 操作系统账号tdsql的明文密码
# 如果有规划要部署两个集群做DCN同步, 则这两个集群的tdsql密码要一致
tdsql_os_pass: a+complex+password
cd /root/tdsql_10.3.17.3.0/tdsql_install/group_vars
vim all
# scheduler,oss机器网卡
tdsql_sche_netif: ens32
# 操作系统账号tdsql的明文密码
# 如果有规划要部署两个集群做DCN同步, 则这两个集群的tdsql密码要一致
tdsql_os_pass: a+complex+password
# 赤兔监控库配置, 赤兔初始化完成后需要将监控库信息在这里更新
tdsql_metadb_ip: 192.168.5.130
tdsql_metadb_port: 15001
tdsql_metadb_ip_bak: 192.168.5.131
tdsql_metadb_port_bak: 15001
tdsql_metadb_user: hanlon
tdsql_metadb_password: 123456
# 多源同步消费服务的机器网卡
tdsql_consumer_netif: ens32
# 一致性读MC机器的网卡, 需要安装MC时配置
tdsql_mc_netif: ens32
在主控机安装ansible
cd /root/tdsql_10.3.17.3.0/tdsql_install/scripts
source environment_set
sh install_ansible.sh
验证ansible安装是否成功
ansible --version
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.8/site-packages/ansible-2.9.6-py3.8.egg/ansible
executable location = /usr/local/bin/ansible
python version = 3.8.2 (default, May 1 2022, 01:36:39) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
ansible安装成功
使用tdsql安装zookeeper
cd /root/tdsql_10.3.17.3.0/tdsql_install
ansible-playbook -i tdsql_hosts playbooks/tdsql_part1_site.yml
安装大约需要9分钟,日志在/var/log/ansible.log,最终显示failed任务数为0表示安装成功。
网页访问安装chitu模块的机器地址,进行chitu初始化
http://192.168.5.130/tdsqlpcloud
勾选同意,下一步
安装完成后,环境检测都是“通过”的,然后下一步
第一步:集群命名,这个名称是全局唯一的,这里我命名为testcluster
第二步:配置OSS服务列表,前面配置了几个OSS节点,这里就填几个,格式如提示那样“IP:PORT”形式
第三步:测试OSS服务连接,点击旁边的“测试服务连接”按钮,zookeeper列表会自动显示,zookeeper节点目录也会自动显示
第四步:检查集群信息,点击“测试服务连接”后,集群信息也是自动显示,这里检查一下
第五步:点击下一步
接下来对每一项内容初始化
命名规则可以这样定义:城市+机房+房间号+机架号
IDC是策略上的配置,要对应到实际的机架信息上。比如有2个DB机器,为了保证DB实例跨机架,新增2个IDC
IDC权重:IDC权重皆使用默认值100
网关机型已经自动创建好,不需要手动创建,请勿修改!!!
IP:填写实际的DB机器的通信ip地址
机型:选择刚才创建的机型,如TS80
IDC:根据实际情况,选择其归属于哪一个IDC(不同DB机器要划分到不同IDC中)
fenceid、frame、zone:默认
IP:填写实际的PROXY机器的通信ip地址
IDC:同一网关组内的网关可以划分在不同的IDC中,或者相同的IDC中
因为之前上报了2台proxy机器,且这2台proxy机器划分在不同的IDC中,所以这里选择“从2个IDC中取2台机器”
创建一个监控库实例
基础设置如下
容灾设置如下
因为之前设置的是两个DB,这里选择“一主一备”,新增IDC分布,依据之前设置的IDC分布,如果设置的是一个IDC,则关闭IDC校验
实例创建完成,选择“初始化”
跳过授权即可
至此安装完成。