腾讯云TDSQL TCP干货

187 阅读5分钟

创建四台云主机或者本地四台Centos7.6的VM虚拟机 image.png

(四台云主机)

1、环境规划

image.png

2、安装部署 2.1 设置主机名

分别在四台机器上执行。

hostnamectl set-hostname tdsql1 hostnamectl set-hostname tdsql2 hostnamectl set-hostname tdsql3 hostnamectl set-hostname tdsql4

2.2 设置主机名

vim /etc/hosts 172.21.0.5 tdsql1 172.21.0.6 tdsql2 172.21.0.13 tdsql3 172.21.0.15 tdsql4

2.3 设置NTP时间同步

以tdsql1为主时钟服务器,tdsql2,tdsql3,tdsql4向tdsql1做时间校准 [root@tdsql1 ~]# vim /etc/ntp.conf server 127.127.1.0 iburst image.png [root@tdsql1 ~]# systemctl restart ntpd.service #重启时钟同步服务

2.4 配置tdsql2 3 4时钟同步

[root@tdsql2 ~]# vim /etc/ntp.conf server 172.21.0.5 restrict 172.21.0.5 mask255.255.255.0 nomodify notrap

[root@tdsql3 ~]# vim /etc/ntp.conf server 172.21.0.5 restrict 172.21.0.5 mask255.255.255.0 nomodify notrap

[root@tdsql4 ~]# vim /etc/ntp.conf server 172.21.0.5 restrict 172.21.0.5 mask255.255.255.0 nomodify notrap image.png systemctl restart ntpd.service #在tdsql2 3 4主机上重启NTP服务。 ntpdate -u 172.21.0.5 #在tdsql2 3 4主机上同步一次tdsql1主机时间。

2.5 配置免密登录

(管理机 172.21.0.15 tdsql4上操作)

ssh-keygen -t rsa ssh-copy-id 172.21.0.5 ssh-copy-id 172.21.0.6 ssh-copy-id 172.21.0.13 ssh-copy-id 172.21.0.15 image.png 在tdsql4上执行验证是否成功配置了免密登录。

ssh tdsql1 ssh tdsql2 ssh tdsql3 ssh tdsql4

2.6 准备数据目录路径

(所有机器 tdsql1 tdsql2 tdsql3 tdsql4)

mkdir -p /data mkdir -p /data1

2.7 上传/下载ansible/tdsql安装包

下载到tdsql4管理主机上

[root@tdsql4 ~]# mkdir /tdsql [root@tdsql4 ~]# cd /tdsql wget tencent-cloud-product-release-1234567.cos.ap-guangzhou.myqcloud.com/TDSQL-relea… wget tencent-cloud-product-release-1234567.cos.ap-guangzhou.myqcloud.com/TDSQL-relea…

2.8 初始化机器环境

[root@tdsql4 tdsql]# cd /tdsql/ [root@tdsql4 tdsql]# unzip ansible_tdsql_install_20200623.zip [root@tdsql4 tdsql]# cd ansible_install/script/

2.8.1 安装yum源

[root@tdsql4 tdsql]# sh init_os_for_yum_install.sh

2.8.2 安装python3

[root@tdsql4 tdsql]# sh install_python3_for_x86.sh [root@tdsql4 tdsql]# source /etc/profile [root@tdsql4 tdsql]# python3 --version

2.8.3 安装ansible

[root@tdsql4 tdsql]# sh install_ansible.sh

2.8.4 解压tdsql安装包

[root@tdsql4 tdsql]# cd /tdsql [root@tdsql4 tdsql]# unzip tdsql_packet_10.3.14.6.0_x86_D014.zip

2.9 修改 tdsql_hosts配置文件

[root@tdsql4 tdsql]# mv /tdsql/tdsql_install/tdsql_hosts /tdsql/tdsql_install/tdsql_hosts.bak #备份配置文件。 [root@tdsql4 tdsql]# vim /tdsql/tdsql_install/tdsql_hosts #重新创建配置文件。

==================复制内容===================

[tdsql_allmacforcheck] tdsql_tdsql1 ansible_ssh_host=172.21.0.5 tdsql_tdsql2 ansible_ssh_host=172.21.0.6 tdsql_tdsql3 ansible_ssh_host=172.21.0.13 tdsql_tdsql4 ansible_ssh_host=172.21.0.15

[tdsql_zk] tdsql_zk1 ansible_ssh_host=172.21.0.5 tdsql_zk2 ansible_ssh_host=172.21.0.6 tdsql_zk3 ansible_ssh_host=172.21.0.13

[tdsql_scheduler] tdsql_scheduler1 ansible_ssh_host=172.21.0.6 tdsql_scheduler2 ansible_ssh_host=172.21.0.13

[tdsql_oss] tdsql_oss1 ansible_ssh_host=172.21.0.6 tdsql_oss2 ansible_ssh_host=172.21.0.13

[tdsql_chitu] tdsql_chitu1 ansible_ssh_host=172.21.0.6 tdsql_chitu2 ansible_ssh_host=172.21.0.13

[tdsql_monitor] tdsql_monitor1 ansible_ssh_host=172.21.0.6 tdsql_monitor2 ansible_ssh_host=172.21.0.13

[tdsql_db] tdsql_db1 ansible_ssh_host=172.21.0.5 tdsql_db2 ansible_ssh_host=172.21.0.6 tdsql_db3 ansible_ssh_host=172.21.0.13

[tdsql_proxy] tdsql_proxy1 ansible_ssh_host=172.21.0.5 tdsql_proxy2 ansible_ssh_host=172.21.0.6 tdsql_proxy3 ansible_ssh_host=172.21.0.13

[tdsql_hdfs] tdsql_hdfs1 ansible_ssh_host=172.21.0.15

[tdsql_lvs] tdsql_lvs1 ansible_ssh_host=172.21.0.6 tdsql_lvs2 ansible_ssh_host=172.21.0.13

[tdsql_kafka] tdsql_kafka1 ansible_ssh_host=172.21.0.5 tdsql_kafka2 ansible_ssh_host=172.21.0.6 tdsql_kafka3 ansible_ssh_host=172.21.0.13

[tdsql_consumer] tdsql_consumer1 ansible_ssh_host=172.21.0.15

[tdsql_es] tdsql_es1 ansible_ssh_host=172.21.0.15

[tdsql_intercity] tdsql_intercity1 ansible_ssh_host=172.21.0.15

[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 ==================复制内容===================

2.10 修改 ansible 配置

[root@tdsql4group_vars]#mv/tdsql/tdsql_install/group_vars/all /tdsql/tdsql_install/group_vars/all.bak #备份all配置文件 vim /tdsql/tdsql_install/group_vars/all #创建配置文件 ==================复制内容===================

tdsql_env_cpu: x86 tdsql_env_os: yum_install tdsql_zk_num: 3 tdsql_sche_netif: eth0 tdsql_os_pass: a+complex+password tdsql_zk_rootdir: /tdsqlzk

tdsql_metadb_ip: 172.21.0.5 tdsql_metadb_port: 15001 tdsql_metadb_ip_bak: 172.21.0.6 tdsql_metadb_port_bak: 15001 tdsql_metadb_user: tdsqlpcloud tdsql_metadb_password: tdsqlpcloud

tdsql_hdfs_num: 1 tdsql_hdfs_ssh: 22 tdsql_hdfs_datadir: /data2/hdfs,/data3/hdfs,/data4/hdfs tdsql_hdfsdatadir_count: 3

tdsql_kafka_logdir: /data2/kafka,/data3/kafka,/data4/kafka

tdsql_es_mem: 2 tdsql_es_log_days: 7 tdsql_es_base_path: /data/application/es-install/es

tdsql_intercity_zkrootdir: /tdsqlcross tdsql_intercity_netif: eth0

tdsql_zk_clientport: 2118 tdsql_zk_serverport1: 2338 tdsql_zk_serverport2: 2558

tdsql_oc_server_pass: K2JatUv5llBbMrske/k2YbqC tdsql_oc_client_pass: LGhVs0v5nVxcOLQie/k9bb2I tdsql_clouddba_metadb_pass: h5Wyg2Xy tdsql_oss_metadb_pass: q9Cjn0Wl ==================复制内容===================

2.11 安装ZooKeeper

安装大概需要15-25分钟。

本步骤完成后,赤兔平台即安装完成。

[root@tdsql4 group_vars] cd /tdsql/tdsql_install [root@tdsql4 group_vars] sh playbooks/tdsql_encrypt.sh [root@tdsql4 group_vars] ansible-playbook -i tdsql_hosts playbooks/tdsql_part1_site.yml image.png Failed=0都为0表示安装过程中没有错误。

注意:如果遇到异常信息可以到tdsql4主机cat /var/log/ansible.log路径下查看日志。

3、配置赤兔 赤兔平台在tdsql2 tdsql3主机上,通过腾讯云服务器管理页面确认下,公网IP地址,访问赤兔平台初始化页面。 image.png

网页访问安装赤兔模块的机器地址,进行赤兔初始化。

http://82.157.61.93/tdsqlpcloud ​82.157.61.93/tdsqlpcloud 3.1 环境检测 image.png 全部显示”通过”,点击下一步。

3.2 集群接入 image.png 填写,集群名称,OSS服务列表(tdsql2、tdsql3的内网IP地址),点击测试服务器连接。

安装向导会自动补齐,Zookeeper列表和Zookeeper节点信息,并显示集群信息。点击下一步。

3.3 集群初始化 集群初始化需要配置5类资源。 image.png

3.3.1 IDC IDC推荐命名规则:

IDC_城市名首字母_区名首字母_机房编号_序号 image.png image.png

3.3.2 机型规格 image.png 注:数据磁盘大小:总磁盘容量的65% ;日志磁盘大小:总磁盘容量的25% image.png 注:机型名称:PROXY(必须为大写) 3.3.3 设备资源 3.3.3.1 上报网关资源 image.png 3.3.3.2 上报DB资源 image.png image.png

3.3.4 网关组 image.png 是否指定IP,此处选:否。会自动搜索出每个IDC中配置的网关IP。 image.png

3.3.5 非分布式实例 3.3.5.1 基础设置

image.png

3.3.5.2 容灾设置

image.png image.png

3.3.5.3初始化数据库实例

image.png

image.png

3.3.6 集群初始化完成后参考图 image.png

3.4 为系统配置数据库 image.png 密码:tdsqlpcloud 3.5 登陆验证 网页访问赤兔管理平台(使用谷歌浏览器)。 image.png image.png http://82.157.61.93/tdsqlpcloud

赤兔管理员:admin/123456

根据得到的连接参数,用 mysql 客户端测试一下赤兔监控库是否可以连接 image.png mysql -h172.21.0.5 -P15001 -utdsqlpcloud -p'tdsqlpcloud'

3.6 监控实例的proxy ip地址 安装完赤兔后,获取到赤兔的监控实例的proxy ip地址,放到ansible的配置文件。

[root@tdsql4 tdsql_full_install_ansible]# vim /tdsql/tdsql_install/group_vars/all

metadb_ip: 172.21.0.5 #赤兔监控库的proxy ip主 metadb_port: 15001 #赤兔监控库的proxy port主 metadb_ip_bak: 172.21.0.6 #赤兔监控库的proxy ip备 metadb_port_bak: 15001 #赤兔监控库的proxy port备 metadb_user: tdsqlpcloud #赤兔监控库的用户名 metadb_password: tdsqlpcloud #赤兔监控库的密码

执行安装 part2_site.yml cd /tdsql/tdsql_install sh playbooks/tdsql_encrypt.sh #生产密文密码,根据明文自动帮大家生成 ansible-playbook -i tdsql_hosts playbooks/tdsql_part2_site.yml image.png 4、其它组件安装

4.1 HDFS安装

1.在dfs 机器上设置主机名

[root@tdsql4 tdsql_install]# vim /etc/hosts 172.21.0.15 tdsql4

2.检查 tdsql_hosts 文件

[root@tdsql4 tdsql_install]# vim tdsql_hosts [hdfs] hdfs1 ansible_ssh_host=172.21.0.15 本实验hdfs采用伪分布式安装,只在tdsql4一台机器上安装hdfs。

3.修改 hdfs 变量

[root@tdsql4 tdsql_install]# vim /tdsql/tdsql_install/group_vars/all tdsql_hdfs_num: 1 tdsql_hdfs_ssh: 22 tdsql_hdfs_datadir: /data2/hdfs,/data3/hdfs,/data4/hdfs tdsql_hdfsdatadir_count: 3

4.hdfs目录及权限

[root@tdsql4 tdsql_install]# mkdir -p /data2/hdfs [root@tdsql4 tdsql_install]# mkdir -p /data3/hdfs [root@tdsql4 tdsql_install]# mkdir -p /data4/hdfs [root@tdsql4 tdsql_install]# chown -R tdsql:users /data2 [root@tdsql4 tdsql_install]# chown -R tdsql:users /data3 [root@tdsql4 tdsql_install]# chown -R tdsql:users /data4

5.安装 hdfs 单点 image.png [root@tdsql4 tdsql_install]# cd /tdsql/tdsql_install [root@tdsql4 tdsql_install]# ansible-playbook -i tdsql_hosts playbooks/tdsql_hdfs_single.yml

6.切换到 tdsql 用户

[root@tdsql4 tdsql_install]# su - tdsql

7.用 tdsql 用户在 hdfs1 机器上,格式化 namenode image.png [tdsql@tdsql4 ~]$ hdfs namenode -format

8.用 tdsql 用户在 hdfs1 机器上,启动 namenode 和 datanode

[tdsql@tdsql4 ~]hdfsdaemonstartnamenode[tdsql@tdsql4 ] hdfs --daemon start namenode [tdsql@tdsql4 ~] hdfs --daemon start datanode

/* 附:用 tdsql 用户关闭 hdfs 进程 hdfs --daemon stop datanode hdfs --daemon stop namenode */

9.用 tdsql 用户执行以下命令

#查看/tdsqlbackup 目录是否已经被自动创建,权限是否如下 [tdsql@tdsql4 ~]$ hadoop fs -ls /

如果目录不在或者权限不对,用下面命令修改: [tdsql@tdsql4 ~]hadoopfsmkdir/tdsqlbackup[tdsql@tdsql4 ] hadoop fs -mkdir /tdsqlbackup [tdsql@tdsql4 ~] hadoop fs -chown tdsql.supergroup /tdsqlbackup

查看所有datanode节点状态,及上报的容量情况 [tdsql@tdsql4 ~]$ hdfs dfsadmin -report

4.2 安装lvs

1.配置tdsql_hosts 文件

vim tdsql_hosts

[lvs] lvs1 ansible_ssh_host=172.21.0.5 lvs2 ansible_ssh_host=172.21.0.6

2.安装 lvs

ansible-playbook -i tdsql_hosts playbooks/tdsql_lvs.yml

3.赤兔前台操作 lvs

上报 lvs 机器信息(2 台 lvs 机器信息都要上报) 接入层管理--> LVS设备资源管理-->上报[LVS设备资源] 进入虚拟机,查看网卡信息: ifconfig -a inet 172.21.0.5 netmask 255.255.240.0 #子网掩码:20

创建 VIP VIP:规划一个 vip 的地址,vip 的地址要和 lvs 机器的通信 ip 地址在同一个网段内。 设备 IP 列表:填入 lvs 机器的通信 ip 地址,一行一个

4.3 安装kafka

1.检查 tdsql_hosts 文件

[root@tdsql4 tdsql_install]# vim /tdsql/tdsql_install/tdsql_hosts

[kafka] kafka1 ansible_ssh_host=172.21.0.5 kafka2 ansible_ssh_host=172.21.0.6 kafka3 ansible_ssh_host=172.21.0.13

2.修改多源同步变量

[root@tdsql4 tdsql_install]# vim /tdsql/tdsql_install/group_vars/all kafka_logdir: /data2/kafka,/data3/kafka,/data4/kafka

3.执行安装多源同步

[root@tdsql4 tdsql_install]# cd /tdsql/tdsql_install [root@tdsql4 tdsql_install]# ansible-playbook -i tdsql_hosts playbooks/tdsql_kafka.yml image.png

4.验证是否安装成功

[root@tdsql1 ~]# cat /data/application/kafka/logs/server.log ----查看 kafka 启动信息 [root@tdsql2 ~]# cat /data/application/kafka/logs/server.log ----查看 kafka 启动信息 [root@tdsql3 ~]# cat /data/application/kafka/logs/server.log ----查看 kafka 启动信息

4.4 安装 consumer

1.配置 tdsql_hosts 文件

[root@tdsql4 tdsql_install]# vim /tdsql/tdsql_install/tdsql_hosts

[consumer] consumer1 ansible_ssh_host=172.21.0.15

2.执行安装 consumer

[root@tdsql4 tdsql_install]# cd /tdsql/tdsql_install [root@tdsql4 tdsql_install]# ansible-playbook -i tdsql_hosts playbooks/tdsql_consumer.yml image.png 3.启动消费者服务

在 consumer 的机器上,使用下面命令启动消费者服务 image.png [root@tdsql4 tdsql_install]# cd /data/application/consumer/bin/ [root@tdsql4tdsql_install]#./binlogconsumermgn--zklist 172.21.0.5:2118,172.21.0.6:2118,172.21.0.13:2118 --zkrootpath /tdsqlzk --kafkazklist 172.21.0.5:2118,172.21.0.6:2118,172.21.0.13:2118 --kafkazkrootpath /kafka --dev eth0

4.5 安装ES

1.配置tdsql_hosts 文件(不能与赤兔同一台机器)

[root@tdsql4 tdsql_install]# vim /tdsql/tdsql_install/tdsql_hosts

[es] es1 ansible_ssh_host=172.21.0.15

2.修改变量文件

[root@tdsql4 tdsql_install]# vim /tdsql/tdsql_install/group_vars/all es_mem: 2 es_log_days: 7 es_base_path: /data/application/es-install/es

3.执行安装 es

[root@tdsql4 tdsql_install]# cd /tdsql/tdsql_install [root@tdsql4 tdsql_install]# ansible-playbook -i tdsql_hosts playbooks/tdsql_es_si image.png

4.启动命令(在 es 机器上操作):

[root@tdsql4 tdsql_install]# source /etc/profile

tdsql 用户启动:

[root@tdsql4 tdsql_install]# su - tdsql [root@tdsql4 tdsql_install]# source /etc/profile [root@tdsql4 tdsql_install]# cd /data/application/es-install/es/master/tools [root@tdsql4 tdsql_install]# nohup ./start-elasticsearch.sh &

[root@tdsql4 tdsql_install]# cd /data/application/es-install/es/data/tools [root@tdsql4 tdsql_install]# nohup ./start-elasticsearch.sh &

root 用户启动:

[tdsql@tdsql4 tools]$ exit [root@tdsql4 tdsql_install]# cd /data/application/es-install/logstash/tools [root@tdsql4 tdsql_install]# nohup ./start-logstash.sh &

[root@tdsql4 tdsql_install]# cd /data/application/es-install/es-cleaner [root@tdsql4 tdsql_install]# nohup ./start-es-cleaner.sh &

[root@tdsql4 tdsql_install]# cd /data/application/es-install/kibana-5.6.4-linux-x86_64/bin [root@tdsql4 tdsql_install]# nohup ./kibana &

5.检测是否正常启动

ps -ef |grep elasticsearch | grep -v 'grep' |wc -l 输出为:4 ps -ef |grep logstash | grep -v 'grep' |wc -l 输出为:2 ps -ef |grep es-cleaner | grep -v 'grep' |wc -l 输出为:1 ps -ef |grep 'node/bin/node' | grep -v 'grep' |wc -l 输出为:1

image.png