腾讯云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分布式数据库安装部署相关推荐

  1. 腾讯云“金融分布式核心”联合解决方案

    6月24日,基于国内银行对以云为承载的全栈国产化IT系统的需求,腾讯云携手神州信息正式推出了"金融分布式核心"联合解决方案.双方采用开放平台技术-核心平台+云平台实现业务的分布式处 ...

  2. 技术选型解决方案之腾讯云TDSQL数据库实战

    2019年公司搭建微服务平台,实现分布式部署,各服务性能及效率得到稳步提升,并已经趋于稳定.为了进一步提升服务性能,经过服务调研需要对Mysql数据服务进行高可用及高性能的升级.之前服务器部署采用服务 ...

  3. TDSQL:腾讯金融级分布式数据库解决方案

    TDSQL:腾讯金融级分布式数据库解决方案 本博主是腾讯云的使用者与爱好者,前后分别试用了腾讯云服务器.云开发.微搭低代码开发平台,可以说算是见证腾讯的云上历程 本博文将从基础概念.TDSQL介绍.发 ...

  4. 腾讯云TDSQL数据库信创演进与实践

    日前,在中国电子信息行业联合会面向行业优秀品牌教育培育<2020-2021年度优秀创新软件产品>的征集中,腾讯云分布式数据库TDSQL管理系统成功入选,并荣获"年度优秀软件产品& ...

  5. 腾讯云TDSQL数据库核心技术理论取得进展 ,同时发布数据异常检测工具

    近日,腾讯云和中国人民大学在数据库基础研究上有了进展,聚焦在"数据异常"领域,这是数据库可串行化理论体系中的重要概念. 数据异常是打开并发访问控制技术大门的金钥匙.在数据库行业中, ...

  6. 腾讯潘安群:腾讯云金融级数据库TDSQL分析

    SDCC 2015将于2015年11月19-21日在北京.朗丽姿西山花园酒店召开.在大会召开之际,笔者采访到了腾讯高级软件工程师潘安群,请他分享TDSQL在腾讯云金融领域的实践经验. SDCC 201 ...

  7. 【SDCC讲师专访】腾讯潘安群:腾讯云金融级数据库TDSQL分析

    摘要:SDCC 2015将于2015年11月19-21日在北京.朗丽姿西山花园酒店召开.在大会召开之际,笔者采访到了腾讯高级软件工程师潘安群,请他分享TDSQL在腾讯云金融领域的实践经验. SDCC ...

  8. 腾讯云TDSQL数据库交付运维初级工程师-腾讯云CloudLite认证(TCA)考试部分试题

    有些题目我也不太清楚正确答案,望体谅,毕竟也只是腾讯封装的一个产品,MySQL的题目还是能保证的.本人也只是想混一个证书而已. 1 . 关于TDSQL(MySQL版)备份恢复说法正确的是?C A . ...

  9. 腾讯云TDSQL,从数据库巨人身上撕开一道口子

    金融行业现状 目前国内大中型银行主要以国外厂商提供的大型主机和数据库解决方案来进行系统构建.由于近年来金融业务量的不断增长,以及银行数字化转型成为必然趋势.目前以国外大型主机和数据库为核心的架构已无法 ...

  10. 通过云速搭CADT实现云原生分布式数据库PolarDB-X 2.0的部署

    云速搭 CADT 是一款为上云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本.本产品提供丰富的预制应用架构模板,同时也支持自助拖拽方式定义应用云上架构:支持较多阿里云服务的配置 ...

最新文章

  1. python中根据URL获得数据库的名称及IP
  2. 作为国企程序员,是一种怎样的体验?
  3. android viewpager 嵌套fragment,Android ViewPager+Fragment多层嵌套(使用问题处理)
  4. TCP三次握手及tcpdump抓包
  5. MySQL 在 LIMIT 条件后注入
  6. javascript捕获ocx事件
  7. Unity UGUI——Rect Transform包裹(Anchor Presets)
  8. python文本分词_【Python】使用jieba对文本进行分词
  9. linux导报命令,LINUX下安装与卸载DM8
  10. 台大李宏毅Machine Learning 2017Fall学习笔记 (1)Introduction of machine Learning
  11. 面试题大全-操作系统面试题
  12. Docker hub配置国内加速器
  13. 连续英文字符串分词工具wordninja添加自定义名词
  14. php手册3.1,ThinkPHP3.1手册
  15. java四则运算简单界面版
  16. 抖音V1.7.9调研报告
  17. python快递费用计算_Python实现快递查询
  18. ubuntu20.10 RK3288 android7.1.2 源码编译遇到的问题解答
  19. 解决windows服务器装虚拟机windows系统无网络连接网络
  20. docker启动失败原因

热门文章

  1. Ubuntu 安装网易云音乐
  2. 我的世界夜视指令java_我的世界状态效果大全及指令使用方法
  3. windows上比较好用的截图软件+Gif录制软件+看图软件,建议收藏!
  4. 计算机网络原理学习笔记
  5. JSP旅游景点网站系统myeclipse开发计算机程序web结构java编程网页源码
  6. 多么乐alexa网站流量数据报告助手
  7. RubyOnRails 学习网站
  8. ueditor编辑器的使用
  9. 展讯SC9820E驱动配置之LCD配置
  10. CentOS7.0设置中文输入法