墨墨导读:分布式数据库(Tencent Distributed SQL,TDSQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
数据技术嘉年华,十周年盛大开启,点我立即报名!大会以“自研·智能·新基建——云和数据促创新 生态融合新十年” 为主题,相邀数据英雄,总结过往十年历程与成绩,展望未来十年趋势与目标!
TDSQL按照官方要求配置相对较高,现通过4台虚拟机演示TDSQL的全套部署。如有不对的地方请指证 wx:moonstar00
机器数量规划:
tdsql 规划机器如下:4台(CPU:2core/MEM:8G/HDD:50G) ,内存至少5G以上 ,CPU 至少2C以上, 否则检查通不过
TDSQL安装部署
1.设主机名
hostnamectl set-hostname huyidb01
hostnamectl set-hostname huyidb02
hostnamectl set-hostname huyidb03
hostnamectl set-hostname huyidb04
2.配置主机名
vim /etc/hosts
10.85.10.51 huyidb01
10.85.10.52 huyidb02
10.85.10.53 huyidb03
10.85.10.54 huyidb04
3.设置时间同步
以huyidb01为主时钟
mount /dev/cdrom /mnt
yum -y install ntp*
[root@huyidb01 ~]# vim /etc/ntp.conf
#同步地址
server 127.127.1.0 iburst
systemctl restart ntpd.service
[root@huyidb02 ~]# vim /etc/ntp.conf
server 10.85.10.51
restrict 10.85.10.51 mask 255.255.240.0 nomodify notrap
systemctl restart ntpd.service
ntpdate -u 10.85.10.51
[root@huyidb03 ~]# vim /etc/ntp.conf
server 10.85.10.51
restrict 10.85.10.51 mask 255.255.240.0 nomodify notrap
systemctl restart ntpd.service
ntpdate -u 10.85.10.51
[root@huyidb04 ~]# vim /etc/ntp.conf
server 10.85.10.51
restrict 10.85.10.51 mask 255.255.240.0 nomodify notrap
systemctl restart ntpd.service
ntpdate -u 10.85.10.51
4.配置免密登录(管理机 110.85.10.54 上操作)
ssh-keygen -t rsa --这里不用输入密码,免密码登录
ssh-copy-id 10.85.10.51 --下面要输入远程主机的密码
ssh-copy-id 10.85.10.52
ssh-copy-id 10.85.10.53
ssh-copy-id 10.85.10.54
#这里是通过IP copy的 ,测试的时候也只要用IP 例:ssh 10.85.10.51
5.准备数据目录路径(所有机器)
mkdir -p /mysql/data
mkdir -p /mysql/log
安装ANSIBLE
unzip tdsql_full_install_ansible.zip
cd tdsql_full_install_ansible
python settings/install_ansible.py
配置tdsql_hosts
vi /soft/tdsql_full_install_ansible/tdsql_hosts
[envcheck]
tdsql_huyidb01 ansible_ssh_host=10.85.10.51
tdsql_huyidb02 ansible_ssh_host=10.85.10.52
tdsql_huyidb03 ansible_ssh_host=10.85.10.53
tdsql_huyidb04 ansible_ssh_host=10.85.10.54
[zk]
tdsql_zk1 ansible_ssh_host=10.85.10.51
tdsql_zk2 ansible_ssh_host=10.85.10.52
tdsql_zk3 ansible_ssh_host=10.85.10.53
[scheduler]
tdsql_scheduler1 ansible_ssh_host=10.85.10.52
tdsql_scheduler2 ansible_ssh_host=10.85.10.53
[oss]
tdsql_oss1 ansible_ssh_host=10.85.10.52
tdsql_oss2 ansible_ssh_host=10.85.10.53
[chitu]
tdsql_chitu1 ansible_ssh_host=10.85.10.52
tdsql_chitu2 ansible_ssh_host=10.85.10.53
[monitor]
tdsql_monitor1 ansible_ssh_host=10.85.10.52
tdsql_monitor1 ansible_ssh_host=10.85.10.53
[db]
tdsql_db1 ansible_ssh_host=10.85.10.51
tdsql_db2 ansible_ssh_host=10.85.10.52
tdsql_db3 ansible_ssh_host=10.85.10.53
[proxy]
tdsql_proxy1 ansible_ssh_host=10.85.10.51
tdsql_proxy2 ansible_ssh_host=10.85.10.52
tdsql_proxy3 ansible_ssh_host=10.85.10.53
[hdfs]
tdsql_hdfs1 ansible_ssh_host=10.85.10.54
[lvs]
tdsql_lvs1 ansible_ssh_host=10.85.10.52
tdsql_lvs2 ansible_ssh_host=10.85.10.53
[kafka]
tdsql_kafka1 ansible_ssh_host=10.85.10.51
tdsql_kafka2 ansible_ssh_host=10.85.10.52
tdsql_kafka3 ansible_ssh_host=10.85.10.53
[consumer]
tdsql_consumer1 ansible_ssh_host=10.85.10.54
[es]
tdsql_es1 ansible_ssh_host=10.85.10.54
[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
修改 ansible 变量
vi /soft/tdsql_full_install_ansible/group_vars/all
zk_num: 3
netif_name: ens38 #<---填入 scheduler(ifconfig 看到的)网卡的名称
tdsql_pass: a+complex+password
zk_rootdir: /tdsqlzk
下面参数后面安装相关模块时在调整
metadb_ip: 10.120.109.204
metadb_port: 15001
metadb_ip_bak: 10.120.109.205
metadb_port_bak: 15001
metadb_user: hanlon
metadb_password: hanlon
ssh_port: 36000
hdfs_datadir: /data2/hdfs,/data3/hdfs,/data4/hdfs
kafka_logdir: /data2/kafka,/data3/kafka,/data4/kafka
es_mem: 8
es_log_days: 7
es_base_path: /data/application/es-install/es
tdsql_secret_pass: K2JatUv5llBbMrske/k2YbqC
oc_secret_pass: LGhVs0v5nVxcOLQie/k9bb2I
clouddba_metadb_pass: h5Wyg2Xy
执行安装 part1_site.yml
sh encrypt.sh <---------必须执行,更新密文密码
ansible-playbook -i tdsql_hosts part1_site.yml
# 执行了近20多分钟 ,执行完成要无failed=0
PLAY RECAP ********************************************************************************************************************************************************
chitu1 : ok=20 changed=19 unreachable=0 failed=0
chitu2 : ok=20 changed=19 unreachable=0 failed=0
db1 : ok=13 changed=12 unreachable=0 failed=0
db2 : ok=13 changed=12 unreachable=0 failed=0
db3 : ok=13 changed=12 unreachable=0 failed=0
huyidb01 : ok=30 changed=19 unreachable=0 failed=0
huyidb02 : ok=27 changed=16 unreachable=0 failed=0
huyidb03 : ok=27 changed=16 unreachable=0 failed=0
huyidb04