腾讯云TDSQL分布式数据库安装部署

腾讯云TDSQL分布式数据库安装部署

########################
机器规划
########################
4台(CPU:4core/MEM:8G/HDD:100G)

172.17.16.2 mac1:zk1,kafka1,proxy1,db1
172.17.16.5 mac2:zk2,kafka2,proxy2,db2,oss1,scheduler1,chitu1,monitor1,lvs
172.17.16.11 mac3:zk3,kafka3,proxy3,db3,oss2,scheduler2,chitu2,monitor2,lvs
172.17.16.13 mac4:ansible,hdfs,es,consumer

#######################
TDSQL安装部署
#######################

1.设主机名
hostnamectl set-hostname mac1
hostnamectl set-hostname mac2
hostnamectl set-hostname mac3
hostnamectl set-hostname mac4

2.配置主机名
vim /etc/hosts
172.17.16.2 mac1
172.17.16.5 mac2
172.17.16.11 mac3
172.17.16.13 mac4

3.设置时间同步
以mac1为主时钟
[root@mac1 ~]# vim /etc/ntp.conf
server 127.127.1.0 iburst

systemctl restart ntpd.service

[root@mac2 ~]# vim /etc/ntp.conf
server 172.17.16.2
restrict 172.17.16.2 mask 255.255.240.0 nomodify notrap

systemctl restart ntpd.service
ntpdate -u 172.17.16.2

[root@mac3 ~]# vim /etc/ntp.conf

server 172.17.16.2
restrict 172.17.16.2 mask 255.255.240.0 nomodify notrap

systemctl restart ntpd.service
ntpdate -u 172.17.16.2

[root@mac4 ~]# vim /etc/ntp.conf

server 172.17.16.2
restrict 172.17.16.2 mask 255.255.240.0 nomodify notrap

systemctl restart ntpd.service
ntpdate -u 172.17.16.2

4.云上虚机安全组策略
入方:TCP:8080
入方:TCP:2181
入方:TCP:9870

5.配置免密登录(管理机 1172.17.16.13 上操作)
ssh-keygen -t rsa
ssh-copy-id 172.17.16.2
ssh-copy-id 172.17.16.5
ssh-copy-id 172.17.16.11
ssh-copy-id 172.17.16.13

6.准备数据目录路径(所有机器)
mkdir -p /data
mkdir -p /data1

7.上传并安装ansible
[root@mac3 ~]# mkdir /tdsql
[root@mac3 ~]# cd /tdsql
wget https://tencent-cloud-product-13453545.cos.ap-hangzhou.myqcloud.com/TDSQL-release/V10.3.14.6.0%22D018/ansible_20200821.zip
unzip ansible_tdsql_install_20200821.zip
cd ansible_install/script/
1)初始化机器环境
sh init_os_for_yum_install.sh

2)安装python3
sh install_python3_for_x86.sh
source /etc/profile
python3 --version

3)安装ansible
sh install_ansible.sh

解压tdsql安装包
cd /tdsql
unzip tdsql_packet_10.3.14.6.0_x86_D014.zip
8.修改 tdsql_hosts 文件
vim /tdsql/tdsql_install/tdsql_hosts

[tdsql_allmacforcheck]
tdsql_mac1 ansible_ssh_host=172.17.16.2
tdsql_mac2 ansible_ssh_host=172.17.16.5
tdsql_mac3 ansible_ssh_host=172.17.16.11
tdsql_mac4 ansible_ssh_host=172.17.16.13

[tdsql_zk]
tdsql_zk1 ansible_ssh_host=172.17.16.2
tdsql_zk2 ansible_ssh_host=172.17.16.5
tdsql_zk3 ansible_ssh_host=172.17.16.11

[tdsql_scheduler]
tdsql_scheduler1 ansible_ssh_host=172.17.16.5
tdsql_scheduler2 ansible_ssh_host=172.17.16.11

[tdsql_oss]
tdsql_oss1 ansible_ssh_host=172.17.16.5
tdsql_oss2 ansible_ssh_host=172.17.16.11

[tdsql_chitu]
tdsql_chitu1 ansible_ssh_host=172.17.16.5
tdsql_chitu2 ansible_ssh_host=172.17.16.11

[tdsql_monitor]
tdsql_monitor1 ansible_ssh_host=172.17.16.5
tdsql_monitor1 ansible_ssh_host=172.17.16.11

[tdsql_db]
tdsql_db1 ansible_ssh_host=172.17.16.2
tdsql_db2 ansible_ssh_host=172.17.16.5
tdsql_db3 ansible_ssh_host=172.17.16.11

[tdsql_proxy]
tdsql_proxy1 ansible_ssh_host=172.17.16.2
tdsql_proxy2 ansible_ssh_host=172.17.16.5
tdsql_proxy3 ansible_ssh_host=172.17.16.11

[tdsql_hdfs]
tdsql_hdfs1 ansible_ssh_host=172.17.16.13

[tdsql_lvs]
tdsql_lvs1 ansible_ssh_host=172.17.16.5
tdsql_lvs2 ansible_ssh_host=172.17.16.11

[tdsql_kafka]
tdsql_kafka1 ansible_ssh_host=172.17.16.2
tdsql_kafka2 ansible_ssh_host=172.17.16.5
tdsql_kafka3 ansible_ssh_host=172.17.16.11

[tdsql_consumer]
tdsql_consumer1 ansible_ssh_host=172.17.16.13

[tdsql_es]
tdsql_es1 ansible_ssh_host=172.17.16.13

[tdsql_intercity]
tdsql_intercity1 ansible_ssh_host=172.17.16.13

[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

9.修改 ansible 变量
#ifconfig -a 网卡信惩

vim group_vars/all
tdsql_env_cpu: x86
tdsql_env_os: yum_install
tdsql_zk_num: 3
tdsql_sche_netif: eth0
tdsql_os_pass: abc+bbbb+password
tdsql_zk_rootdir: /tdsqlzk

tdsql_hdfs_num: 1

tdsql_zk_clientport: 2181
tdsql_zk_serverport1: 2338
tdsql_zk_serverport2: 2558

10.使用 tdsql 安装的 zk
cd /tdsql/tdsql_install

sh playbooks/tdsql_encrypt.sh
ansible-playbook -i tdsql_hosts playbooks/tdsql_part1_site.yml

11.初始化 chitu
网页访问安装 chitu 模块的机器地址,进行 chitu 初始化。
http://129.211.149.169/tdsqlpcloud

172.17.16.5:8080
172.17.16.11:8080

数据库账号:tdsqlpcloud
密码:tdsqlpcloud

赤兔管理员:admin/admin123

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

12.安装完赤兔后,获取到chitu的监控实例的proxy ip地址,放到ansible的变量文件
cd /tdsql/tdsql_10.3.14.1.0_x86_centos/tdsql_full_install_ansible/
[root@mac4 tdsql_full_install_ansible]# vim group_vars/all

metadb_ip: 172.17.16.2 #赤兔监控库的proxy ip主
metadb_port: 15001 #赤兔监控库的proxy port主
metadb_ip_bak: 172.17.16.5 #赤兔监控库的proxy ip备
metadb_port_bak: 15001 #赤兔监控库的proxy port备
metadb_user: yunbee #赤兔监控库的用户名
metadb_password: Yunbee123 #赤兔监控库的密码

13.执行安装 part2_site.yml
cd /tdsql/tdsql_install

sh playbooks/tdsql_encrypt.sh #生产密文密码,根据明文自动帮大家生成
ansible-playbook -i tdsql_hosts playbooks/tdsql_part2_site.yml

#开始部署其它组件
####################
安装HDFS
####################

1.在dfs 机器上设置主机名
vim /etc/hosts
1172.17.16.13 mac3

2.检查 tdsql_hosts 文件
vim tdsql_hosts

[hdfs]
hdfs1 ansible_ssh_host=1172.17.16.13

3.修改 hdfs 变量
vim 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目录及权限
mkdir -p /data2/hdfs
mkdir -p /data3/hdfs
mkdir -p /data4/hdfs
chown -R tdsql:users /data2
chown -R tdsql:users /data3
chown -R tdsql:users /data4

5.安装 hdfs 单点
ansible-playbook -i tdsql_hosts playbooks/tdsql_hdfs_single.yml

6.切换到 tdsql 用户
su - tdsql

7.用 tdsql 用户在 hdfs1 机器上,格式化 namenode
hdfs namenode -format

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

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

9.用 tdsql 用户执行以下命令
#查看/tdsqlbackup 目录是否已经被自动创建,权限是否如下
hadoop fs -ls /

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

查看所有datanode节点状态,及上报的容量情况
hdfs dfsadmin -report

########################
安装lvs
########################
1.配置tdsql_hosts 文件
vim tdsql_hosts

[lvs]
lvs1 ansible_ssh_host=172.17.16.5
lvs2 ansible_ssh_host=172.17.16.11

2.安装 lvs
ansible-playbook -i tdsql_hosts playbooks/tdsql_lvs.yml

3.赤兔前台操作 lvs
上报 lvs 机器信息(2 台 lvs 机器信息都要上报)
接入层管理–> LVS设备资源管理–>上报[LVS设备资源]

########################
安装kafka
########################
1.检查 tdsql_hosts 文件
vim tdsql_hosts

[kafka]
kafka1 ansible_ssh_host=172.17.16.2
kafka2 ansible_ssh_host=172.17.16.5
kafka3 ansible_ssh_host=172.17.16.11

2.修改多源同步变量
vim group_vars/all
kafka_logdir: /data2/kafka,/data3/kafka,/data4/kafka

3.执行安装多源同步
ansible-playbook -i tdsql_hosts playbooks/tdsql_kafka.yml

4.验证是否安装成功
cat /data/application/kafka/logs/server.log ----查看 kafka 启动信息

########################
安装 consumer
########################
1.配置 tdsql_hosts 文件
vim tdsql_hosts
[consumer]
consumer1 ansible_ssh_host=1172.17.16.13

2.执行安装 consumer
ansible-playbook -i tdsql_hosts playbooks/tdsql_consumer.yml

3.启动消费者服务
在 consumer 的机器上,使用下面命令启动消费者服务
cd /data/application/consumer/bin/
./binlogconsumermgn --zklist 172.17.16.2:2181,172.17.16.5:2181,172.17.16.11:2181 --zkrootpath /tdsqlzk --kafkazklist 172.17.16.2:2181,172.17.16.5:2181,172.17.16.11:2181 --kafkazkrootpath /kafka --dev eth0

##########################
安装ES
##########################
1.配置tdsql_hosts 文件(不能与 chitu 同一台机器)
vim tdsql_hosts

[es]
es1 ansible_ssh_host=1172.17.16.13

2.修改变量文件 vim group_vars/all
es_mem: 4
es_log_days: 7
es_base_path: /data/application/es-install/es

3.执行安装 es
ansible-playbook -i tdsql_hosts playbooks/tdsql_es_single.yml

4.启动命令(在 es 机器上操作):
source /etc/profile #JAVA_HOME环境生效

tdsql 用户启动:
su - tdsql
cd /data/application/es-install/es/master/tools
nohup ./start-elasticsearch.sh &
cd /data/application/es-install/es/data/tools
nohup ./start-elasticsearch.sh &

root 用户启动:
cd /data/application/es-install/logstash/tools
nohup ./start-logstash.sh &

cd /data/application/es-install/es-cleaner
nohup ./start-es-cleaner.sh &

cd /data/application/es-install/kibana-5.6.4-linux-x86_64/bin/
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

#ps -ef |grep elasticsearch |awk ‘{print $2}’ |xargs kill -9

6.es 的验证及相关
输入 es IP 地址,打开 es 前台页面。

http://129.211.116.239/

你可能感兴趣的:(TDSQL)