赞
踩
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添加公钥,如果此前添加过公钥就会报错 此时有两条公钥
这里就会报错无法解析
因为我此前安装过一次了所以这里报错。
临时设置安装过程中文编码以免安装过程出现乱码看不清
export LANG='en_US.UTF-8'
编辑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地址即可,组件名称是固定的,修改了安装后会报找不到
此文件为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
sh scripts/install_ansible.sh
此步骤有点久,可能需要等一小会儿,安装后查看是否安装成功
ansible --version
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节点所以选一主一备
因为前面配置过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
- }
安装必选组件最后一步会要求你提供授权文件,或者先跳过,后面"系统管理->软件授权"中更新授权文件。
这里的mysql最终端口是在实例管理里面查看到的端口
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。