5.7
使用
GBase 8aMPP Cluster
作为资源库导致部署监
控工具时异常
问题现象
部署监控工具时:
监控策略可以添加成功,但是“监控策略管理”时,里面没有明细;
添加集群后,“服务器管理”添加集群节点,提示添加成功后,页面上不显示添
加的服务器。
解决方法
检查集群配置的资源库,监控工具不支持使用集群节点作为资源库,推荐使用
GBase
8a
单机
/DB2
。
5.8
监控网站报错采集中心不可达
问题现象
监控工具报错“采集中心不可达”,需要在发生监控中心不可达时查看
java
堆栈信
息(发生问题后先不要重启程序,重启会清空堆栈),命令如下:
1
)查看端口占用:
lsof -i:{
采集中心端口号
}
;
2
)如
1
)命令无信息,则再采集中心目录
center.pid
文件中获取进程号;
3
)使用如下命令抓取程序运行内存信息:
jmap -dump:format-b,file-[
文件名
][pid]
4
)使用如下命令抓取堆栈信息:
jstack [pid] > gcmonitor.log
原因分析
GBase 8a MPP Cluster FAQ FAQ
文档版本(2021-04-02) 南大通用数据技术股份有限公司
44
通过分析程序日志,发现采集中心进程日志有内存溢出,目前判断此问题与
agent
开启
snmp
的配置有关。
解决方法
30.6.0
存在该问题,该版本可通过禁用
snmp
服务解决(修改配置文件:
gcmonitor_agent/conf/sys/snmp_udp_config.properties
)。
需要注意的是这里提到的
snmp
是
agent
端的采集服务,与采集中心的报警推送
snmp
没有关系,不影响与客户的报警集成功能。
5.9
企业管理器执行投影列中含有重复列名的
sql
语句
报错
问题现象
同样的
sql
在
gccli
中执行不报错,但是在企业管理器中执行报错。
create table t1(c1 int,c2 varchar(10));
create table t2(c1 int,c2 varchar(10));
企业管理器中执行
sql
:
select * from t1 left join t2 on t1.c1=t2.c2;
报错
select * from (select * from t1 left join t2 on t1.c1=t2.c2
) t limit 0,1000
错误:
Duplicate column name 'c1'
原因分析
报错
sql
在企业管理器中执行时,默认改为
select * from (
原
sql) limit
下发执行。
下发到
server
的语句子查询中投影列列名重复,发生列名重复报错,此为当前产品
限制。
解决方法
在
sql
语句中对投影列加不同列别名,以避免投影列列名重复,规避问题。
5.10
使用企业管理器执行
select count(1) into @c from
t1;
报错
问题现象
GBase 8a MPP Cluster FAQ FAQ
文档版本(2021-04-02) 南大通用数据技术股份有限公司
45
select * from (select count(1) into @c from t1
) t limit 0,1000
错误:
You have an error in your SQL syntax; check the manual that corresponds
to your GBase server version for the right syntax to use near 'into @c from
t1
) t limit 0,1000' at line 1
原因分析
为避免一次性输出结果过大,企业管理器默认采用分页显示方法,在窗口
-
首选项中
的“查询结果集分页显示”选项默认勾选。
这样在企业管理器中执行的
sql
语句
SELECT COUNT(1) INTO @c FROM t1;
下发到
server
端变为了
SELECT * FROM (SELECT COUNT(1) INTO @c FROM t1) t limit
0,1000
,不符合语法规范报错。
同时,在窗口
-
首选项中的“包含
Limit
子句
SQL
除外”选项勾选情况下,如果
sql
语句中本身包含有
limit
关键字,则下发到
server
端的语句保持和原
sql
一致。
解决方法
可以将窗口
-
首选项中的“查询结果集分页显示”选项勾选去掉,执行“
SELECT
COUNT(1) INTO @c FROM t1;
”直接下发到
server
可以正常执行,不报错。
但此种方法可能造成在后续执行
select
语句时返回结果集太大造成企业管理器
卡死。
对要执行的
sql
语句加
limit
,执行
select count(1) into @c from t1 limit 1;
也可以
达到预期效果
5.11
监控工具无法推送
trap
信息
问题现象
用户正确配置了
snmp_udp_config.properties
文件,但没有
trap
推送日志:
Send snmp
trap successfully. info
原因分析
环境原因:用户机器的
host
文件配置有问题,需要在
host
文件的本机
ip
地址行加
上当前主机名。
解决方法
当再遇到此问题时,请用户检查
host
文件配置。
GBase 8a MPP Cluster FAQ FAQ
文档版本(2021-04-02) 南大通用数据技术股份有限公司
46
5.12
企业管理器执行
SQL
查询表中
BLOB
列值中文乱
码
问题现象
使用企业管理器执行
SQL
查询,查询表中
BLOB
列字段值,列值中文乱码。
查询步骤如下:
步骤
1
创建测试表;
CREATE TABLE test(a INT,b BLOB);
步骤
2
insert into test values (1,’asdasda’),(2,’
是吗
’), 3,('as
是吗
');
步骤
3
使用企业管理器查询;
SELECT a,b FROM test;
解决方法
可以通过以下设置解决:
步骤
1
点击菜单栏“窗口”
-->
“首选项”页面中的选择“使用自定义字符集”。
步骤
2
自定义字符集选择“
UTF-8
”编码,点击应用。
步骤
3
再次查询既可显示中文。
在查询窗口中自定义结果集字符集进行设置。
5.13
使用
OGG
同步工具,
OGG
发送端报错导致发送端
异常关闭
问题现象
OGG
发送端报错
could not find archive log for sequence 16 thread 1 under default
destinations SQL..
导致发送端异常关闭。
原因分析
GBase 8a MPP Cluster FAQ FAQ
文档版本(2021-04-02) 南大通用数据技术股份有限公司
47
排查问题时意外清空了
oracle
归档日志,导致
OGG
发送端异常关闭。
解决方法
如果归档日志有备份,恢复归档日志即可,最好使用这种方法,可避免增量同
步过程中的数据丢失问题。
如果归档日志没有备份,无法恢复,使用了下面的方法:
i.
OGG
发送端执行
./ggsci
进入命令行界面执行命令:
alter extrkafka begin now
ii.
进入接收端命令行界面,执行:
alter rkafka begin now
说明
上面两个命令表示:从现在开始进行增量同步。
iii.
进入发送端执行
start extkafka
iv.
进入接收端执行
start rkafka
v.
问题解决。