如何访问TDH中Inceptor 底层的元数据库TxSQL

如何访问TDH中Inceptor 底层的元数据库TxSQL

1 Inceptor概述

在大数据生态系统中,HIVE是离线数据仓库事实上的标准,绝大多数的大数据分析型系统或数据仓库系统,都是基于HIVE来构建的。

在星环的大数据平台TDH中,在功能上对应开源HIVE的服务是Inceptor,Inceptor底层是基于开源的HIVE和Spark 整合开发而来的,其中:

  • Inceptor Server 对应 HIVE 的查询引擎 HS2;
  • Inceptor Metastore 对应HIVE的元数据引擎 HMS;
  • Inceptor Executor 对应 spark executor;

如何访问TDH中Inceptor 底层的元数据库TxSQL_第1张图片
如何访问TDH中Inceptor 底层的元数据库TxSQL_第2张图片

2 TxSql概述

  • HIVE的元数据引擎 HMS在底层依赖一个RDBMS元数据库进行元数据的存储查询和管理,该RDBMS常用的有mysql/pg/oracle等,在实践中我们一般使用Mysql;
  • Inceptor 的元数据引擎 Inceptor Metastore 在底层同样依赖一个RDBMS元数据库进行元数据的存储查询和管理,TDH中这个RDBMS使用的是TxSQL:

如何访问TDH中Inceptor 底层的元数据库TxSQL_第3张图片
如何访问TDH中Inceptor 底层的元数据库TxSQL_第4张图片

查看星环官方文档可知,TxSQL基于开源的PhxSQL项目开发,是一个强一致、高可用的分布式数据库系统,它建立在MySQL基础上,并对其传统的主从复制方案作出了改进,将传统的主从复制机制和Paxos协议结合起来,从而更好的实现了高可用。
PhxSQL官方网址是https://github.com/Tencent/phxsql,查看PhxSQL官方文档可知,PhxSQL is a high-availability and strong-consistency MySQL cluster built on Paxos and Percona,其架构图如下:
PhxSQL集群是三层架构,对于集群中的每一个节点,部署3个模块(PhxSQLProxy,MySQL,PhxBinlogSvr):

  • PhxSQLProxy负责请求的透传;
  • 多个节点上的PhxBinlogSvr组成一个可靠的日志存储集群和可靠的Master信息存储集群,PhxBinlogSvr同时承担Agent的责任;
  • Master结点上的PhxSync负责将MySQL的Binlog发送到PhxBinlogSvr;
    如何访问TDH中Inceptor 底层的元数据库TxSQL_第5张图片
    查看TxSQL的底层进程,可见其跟PhxSQL的三次架构是一致的:

3 如何访问TDH中Inceptor 底层的元数据库TxSQL

有时候我们需要对元数据库TxSQL做一些运维操作,比如备份和恢复,此时如何登录进而访问TDH中Inceptor 底层的元数据库TxSQL呢?
大体上来讲,由于TDH中TxSQL是以Docker容器的形式来运行和管理的,我们需要使用 k8s/docker相关命令获取 TxSQL的端口用户名和密码,并通过TxSQL的相关命令获取master 节点地址,然后通过mysql命令登录该master节点进而通过sql查询和操作数据。

3.1 获取 TxSQL的端口,用户名和密码

3.2 获取 master 节点地址


注:这里显示的端口好17000,是TxSQL各个节点内部通信用的,通过客户端命令如Mysql等登录TxSQL时不能使用该端口,否则会报错“ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0”,如下图所示:

3.3 通过mysql命令登录该master节点进而通过sql查询和操作数据

4 相关命令汇总

kubectl get pods |grep -i txsql
 kubectl exec txsql-server-txsql1-86c458896b-9777m -it bash
 /usr/bin/txsql/tools/txsql.sh list
 grep -i port /etc/txsql1/conf/my.cnf 
 cat /etc/txsql1/conf/db.properties 
 mysql -h 10.20.159.114 -P 13306 -uroot -pxxx
 ss -anp|egrep '3316|13306|17000'
 ps -ef|egrep 5407|5523|5588

你可能感兴趣的:(大数据,数据库)