waterdrop程序无法展开数据库信息

  使用配置, 使用报错
内容纲要

现象

使用sql可以show tables获取数据库表信息,但是waterdrop点击数据库展开时报错,报错为system_link中无法找到views_v;


排查及修复

txsql中存放inceptor元数据,进入后发现确实缺失了views_v视图,怀疑为人工操作是删除

1.查看txsql的pod名称和节点

[root@amen01-7 ~]# kubectl get po -owide|grep txsql
txsql-server-txsql1-3329110420-868pb                        1/1       Running   1          41d       172.22.39.9   amen03-9
txsql-server-txsql1-3329110420-bmwj7                        1/1       Running   1          41d       172.22.39.7   amen01-7
txsql-server-txsql1-3329110420-zgjw5                        1/1       Running   0          1d        172.22.39.8   amen02-8
[root@amen01-7 ~]# 

2.从任意pod获取txsql主节点,修复从主节点登录txsql进行

[root@amen01-7 ~]# kubectl exec -it txsql-server-txsql1-3329110420-bmwj7 -c txsql-server-txsql1 -- /usr/bin/txsql/tools/txsql.sh list
get master 172.22.39.7 expire time 1581492299 Wed Feb 12 15:24:59 2020
ip 172.22.39.7 port 17000
ip 172.22.39.8 port 17000
ip 172.22.39.9 port 17000

3.主节点为172.22.39.7,登陆该节点的txsql

[root@amen01-7 ~]# kubectl exec -it txsql-server-txsql1-3329110420-bmwj7 -c txsql-server-txsql1 -- /usr/bin/txsql/tools/txsql.sh 
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 939962
Server version: 5.6.31-77.0-log Source distribution

Copyright (c) 2009-2016 Percona LLC and/or its affiliates
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

4.对于本例,metastore_inceptor1库中不存在视图view_v,使用sql重建该视图:

CREATE ALGORITHM=UNDEFINED DEFINER=inceptoruser@% SQL SECURITY DEFINER VIEW views_v AS select tbls.TBL_ID AS view_id,tbls.TBL_NAME AS view_name,DBS.NAME AS database_name,from_unixtime(tbls.CREATE_TIME) AS create_time,tbls.VIEW_ORIGINAL_TEXT AS origin_text,tbls.VIEW_EXPANDED_TEXT AS expanded_text,tbls.OWNER AS owner_name from ((temp_view_v tbls join DBS on((tbls.DB_ID = DBS.DB_ID))) join SDS on((tbls.SD_ID = SDS.SD_ID)));

5.验证waterdrop程序能否正常展开数据库信息


附录:metastore中表的关联关系

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。