TDSQL集群部署

温馨提醒

环境

OSIP主机名
RockyLinux 8.5192.168.0.101node-01
RockyLinux 8.5192.168.0.102node-02
RockyLinux 8.5192.168.0.102node-03
组件机器数量机器配置(CPU/内存/磁盘)备注
zookeeper3台/5台
oss2台
DB3*n 台32C/64G/1T SSD磁盘一主两备
proxy3台可以与DB机器同机部署
monitor3台可以与zookeeper同机部署
chitu2台可以与zookeeper同机部署
hdfs(可选)3台
LVS(可选)2台
kafka(可选)3台多源同步组件
consumer(可选)1台多源同步组件,可以与kafka混部
es3台

当前环境规划

组件192.168.0.101192.168.0.102192.168.0.103
zookeeperYYY
schedulerYY
ossYY
chituYY
monitorYY
DBYYY
ProxyYYY
hdfsYYY
lvsYY
consumerY
esYYY

安装 python2(三个节点都安装)

1
2
dnf install python2 -y
ln -sv /usr/bin/python2 /usr/bin/python

安装 TDSQL

  • 解压安装包

    1
    
    [root@node-01 ~]# unzip tdsql_10.3.17.3.0.zip -d /opt/
  • 配置免密

    [root@node-01 ~]# vim /opt/tdsql_10.3.17.3.0/tdsql_install/scripts/ip_passwd_list

    1
    2
    3
    4
    
    # 修改 IP 与密码映射关系
    192.168.0.101	123456
    192.168.0.102	123456
    192.168.0.103	123456

    执行免密脚本

    1
    
    [root@node-01 ~]# sh nokey.sh
  • 修改 tdsql_hosts 文件

    [root@node-01 ~]# vim /opt/tdsql_10.3.17.3.0/tdsql_install/tdsql_hosts

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    
    # 填入所有机器的地址(包括主控机)
    # 用于环境检测和初始化配置
    # 同一个标签组内的ip地址不要重复,一个ip一行
    # 序号从1递增,比如只有2台机器,那么序号保留tdsql_mac1 tdsql_mac2
    # 后续如果有扩容,新扩容的机器也需要在这里补上
    [tdsql_allmacforcheck]
    tdsql_mac1 ansible_ssh_host=192.168.0.101
    tdsql_mac2 ansible_ssh_host=192.168.0.102
    tdsql_mac3 ansible_ssh_host=192.168.0.103
    
    # zookeeper机器ip地址
    # 数量只能是1、3、5, 正式环境建议3台或者5台
    # 如果是使用自己已有的zk集群,这里同样要填写正确的zk地址
    [tdsql_zk]
    tdsql_zk1 ansible_ssh_host=192.168.0.101
    tdsql_zk2 ansible_ssh_host=192.168.0.102
    tdsql_zk3 ansible_ssh_host=192.168.0.103
    
    # scheduler机器的ip地址,正式环境建议2个
    [tdsql_scheduler]
    tdsql_scheduler1 ansible_ssh_host=192.168.0.102
    tdsql_scheduler2 ansible_ssh_host=192.168.0.103
    
    # oss机器的ip地址, 正式环境建议2个
    [tdsql_oss]
    tdsql_oss1 ansible_ssh_host=192.168.0.102
    tdsql_oss2 ansible_ssh_host=192.168.0.103
    
    # 赤兔机器的ip地址, 正式环境建议2个
    [tdsql_chitu]
    tdsql_chitu1 ansible_ssh_host=192.168.0.102
    tdsql_chitu2 ansible_ssh_host=192.168.0.103
    
    # 监控采集模块的IP地址,正式环境建议2个
    [tdsql_monitor]
    tdsql_monitor1 ansible_ssh_host=192.168.0.102
    tdsql_monitor2 ansible_ssh_host=192.168.0.103
    
    # db机器地址
    # 有多少台就填多少个ip地址
    # 注意tdsql_db序号逐个递增,不要跳跃
    [tdsql_db]
    tdsql_db1 ansible_ssh_host=192.168.0.101
    tdsql_db2 ansible_ssh_host=192.168.0.102
    tdsql_db3 ansible_ssh_host=192.168.0.103
    
    # proxy机器地址
    [tdsql_proxy]
    tdsql_proxy1 ansible_ssh_host=192.168.0.101
    tdsql_proxy2 ansible_ssh_host=192.168.0.102
    tdsql_proxy3 ansible_ssh_host=192.168.0.103
    
    # hdfs机器地址
    # 机器数量只能是1台或者3台
    # 如果单节点部署,则只保留tdsql_hdfs1,其他删除
    # 正式环境建议高可用部署,初始安装数量只能3台
    [tdsql_hdfs]
    tdsql_hdfs1 ansible_ssh_host=192.168.0.101
    tdsql_hdfs2 ansible_ssh_host=192.168.0.102
    tdsql_hdfs3 ansible_ssh_host=192.168.0.103
    
    # lvs机器地址,数量固定2台
    [tdsql_lvs]
    tdsql_lvs1 ansible_ssh_host=192.168.0.102
    tdsql_lvs2 ansible_ssh_host=192.168.0.103
    
    # kafka机器地址,数量固定3台
    [tdsql_kafka]
    tdsql_kafka1 ansible_ssh_host=192.168.0.101
    tdsql_kafka2 ansible_ssh_host=192.168.0.102
    tdsql_kafka3 ansible_ssh_host=192.168.0.103
    
    # 多源同步消费者服务ip地址,数量固定1台
    [tdsql_consumer]
    tdsql_consumer1 ansible_ssh_host=192.168.0.103
    
    # es机器地址
    [tdsql_es]
    tdsql_es1 ansible_ssh_host=192.168.0.101
    tdsql_es2 ansible_ssh_host=192.168.0.102
    tdsql_es3 ansible_ssh_host=192.168.0.103
    
    [tdsql_mc]
    tdsql_mc1 ansible_ssh_host=192.168.0.101
    tdsql_mc2 ansible_ssh_host=192.168.0.102
    tdsql_mc3 ansible_ssh_host=192.168.0.103
    
    [tdsql_newdb]
    tdsql_newdb1 ansible_ssh_host=192.168.0.101
    tdsql_newdb2 ansible_ssh_host=192.168.0.102
    tdsql_newdb3 ansible_ssh_host=192.168.0.103
    
    [tdsql_ansible_test]
    tdsql_ansible_test1 ansible_ssh_host=192.168.0.101
    tdsql_ansible_test2 ansible_ssh_host=192.168.0.102
    tdsql_ansible_test3 ansible_ssh_host=192.168.0.103
  • 修改 ansible 变量文件

    [root@node-01 ~]# cd /opt/tdsql_10.3.17.3.0/tdsql_install/group_vars/

    1
    2
    3
    4
    5
    
    # 修改网卡名称,使用 ip a 查看网卡名称
    sed -i 's/eth0/ens33/g' all
    
    # 修改 IP
    sed -i 's/1.1.1.1/192.168.0.101/g' all
  • 安装 ansible

    1
    2
    3
    
    [root@node-01 ~]# cd /opt/tdsql_10.3.17.3.0/tdsql_install/scripts/
    [root@node-01 scripts]# source environment_set
    [root@node-01 scripts]# sh install_ansible.sh

    验证 ansible 是否安装成功,输出版本号则安装成功

    image-20240816234843239

  • 部署 TDSQL

    1
    2
    
    [root@node-01 tdsql_install]# cd /opt/tdsql_10.3.17.3.0/tdsql_install/
    [root@node-01 tdsql_install]# ansible-playbook -i tdsql_hosts playbooks/tdsql_part1_site.yml

    如下图所示,则安装成功

    image-20240817001148477

初始化赤兔管理台

浏览器访问 http://192.168.0.102/tdsqlpcloud,进入赤兔安装向导

  • 许可协议

    image-20240817001519698

  • 环境检测

    image-20240817001547263

  • 集群接入

    image-20240817001744347

  • 集群初始化

    IDC - 添加

    image-20240817001937358

    机型规格 - 添加

    image-20240817002111658

    设备资源 - 上报网关资源

    image-20240817002226264

    设备资源 - 上报 DB 资源

    image-20240817002336306

    网关组 - 新增网关组

    image-20240817002421355

    非分布式实例 - 创建实例

    image-20240817002638422

    image-20240817002712964

    image-20240817003200634

    image-20240817003244328

    image-20240817003318004

    为系统配置数据库

    用户名:tdsqlpcloud,密码:123456,点击测试数据库连接,出现测试成功后,点击开始安装

    image-20240817003418338

    软件授权管理

    跳过此步骤,完成安装,完成安装后,会自动进入赤兔管理台界面

    image-20240817003444039

赤兔管理台

用户名:admin,密码:123456

image-20240817003803038

实例管理 -> 实例名称 -> 实例详情

image-20240817004028366

image-20240817004004309

登录数据库

找到实例详情中的网关列表,进行数据库登录验证

image-20240817004201965

1
mysql -utdsqlpcloud -h 192.168.0.101 -P 15001 -p '123456'