当使用psql和centos7进行任何搜索或插入操作时,greenplum会永远挂起

时间:2018-01-02 12:35:17

标签: centos7 hang greenplum

greenplum版本是5.3.0 centos 7

作为头衔, 以下是gplogfilter

的结果
SELECT pg_catalog.quote_ident(n.nspname) || '.' FROM pg_catalog.pg_namespace n WHERE substring(pg_catalog.quote_ident(n.nspname) || '.',1,7)='test_vb' AND (SELECT pg_catalog.count(*) FROM pg_catalog.pg_namespace WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,7) = substring('test_vb',1,pg_catalog.length(pg_catalog.quote_ident(nspname))+1)) > 1
UNION
SELECT pg_catalog.quote_ident(n.nspname) || '.' || pg_catalog.quote_ident(c.relname) FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n WHERE c.relnamespace = n.oid AND c.relkind IN ('r', 'S', 'v' , 'x') AND substring(pg_catalog.quote_ident(n.nspname) || '.' || pg_catalog.quote_ident(c.relname),1,7)='test_vb' AND substring(pg_catalog.quote_ident(n.nspname) || '.',1,7) = substring('test_vb',1,pg_catalog.length(pg_catalog.quote_ident(n.nspname))+1) AND (SELECT pg_catalog.count(*) FROM pg_catalog.pg_namespace WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,7) = substring('test_vb',1,pg_catalog.length(pg_catalog.quote_ident(nspname))+1)) = 1
LIMIT 1000|0||postgres.c|1629|
2018-01-02 12:21:20.685964 UTC|||p20871|th-636074112||||0|||seg-1|||||LOG: |00000|3rd party error log:
Unexpected exception reached top of execution stack: major=200 minor=14 file=CTranslatorUtils.cpp line=162||||||||SysLoggerMain|syslogger.c|633|
2018-01-02 12:21:20.686005 UTC|gpadmin|testdb|p21604|th-636074112|[local]||2018-01-02 12:13:41 UTC|0|con8|cmd4|seg-1||dx22||sx1|LOG: |00000|Planner produced plan :0||||||SELECT pg_catalog.quote_ident(c.relname) FROM pg_catalog.pg_class c WHERE c.relkind IN ('r', 'S', 'v' , 'x') AND substring(pg_catalog.quote_ident(c.relname),1,7)='test_vb' AND pg_catalog.pg_table_is_visible(c.oid) AND c.relnamespace <> (SELECT oid FROM pg_catalog.pg_namespace WHERE nspname = 'pg_catalog')
UNION
SELECT pg_catalog.quote_ident(n.nspname) || '.' FROM pg_catalog.pg_namespace n WHERE substring(pg_catalog.quote_ident(n.nspname) || '.',1,7)='test_vb' AND (SELECT pg_catalog.count(*) FROM pg_catalog.pg_namespace WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,7) = substring('test_vb',1,pg_catalog.length(pg_catalog.quote_ident(nspname))+1)) > 1
UNION
SELECT pg_catalog.quote_ident(n.nspname) || '.' || pg_catalog.quote_ident(c.relname) FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n WHERE c.relnamespace = n.oid AND c.relkind IN ('r', 'S', 'v' , 'x') AND substring(pg_catalog.quote_ident(n.nspname) || '.' || pg_catalog.quote_ident(c.relname),1,7)='test_vb' AND substring(pg_catalog.quote_ident(n.nspname) || '.',1,7) = substring('test_vb',1,pg_catalog.length(pg_catalog.quote_ident(n.nspname))+1) AND (SELECT pg_catalog.count(*) FROM pg_catalog.pg_namespace WHERE substring(pg_catalog.quote_ident(nspname) || '.',1,7) = substring('test_vb',1,pg_catalog.length(pg_catalog.quote_ident(nspname))+1)) = 1
LIMIT 1000|0||orca.c|60|
2018-01-02 12:21:22.351554 UTC|gpadmin|testdb|p21604|th-636074112|[local]||2018-01-02 12:13:41 UTC|0|con8|cmd6|seg-1||dx23||sx1|LOG: |00000|statement: SELECT * FROM test_vb;||||||SELECT * FROM test_vb;|0||postgres.c|1629|
       in:      77 lines; timestamps from 2018-01-02 11:31:19.698317 to 2018-01-02 12:21:22.351554
      out:      77 lines; timestamps from 2018-01-02 11:31:19.698317 to 2018-01-02 12:21:22.351554
----------  /data/master/gpseg-1/pg_log/gp_era ----------
# Greenplum Database era.
# Do not change the contents of this file.
era = 27c9a01176c70c2c_180102113109
       in:       3 lines; no timestamps found
      out:       3 lines

3 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的CentOS 7? RHEL / CentOS 7.0-7.2存在已知问题(参见Greenplum发行说明)。您应该使用7.3或7.4 - 操作系统的早期版本7中存在内核问题,这些问题已在7.3 / 4中修复。

吉姆麦肯恩 枢转

答案 1 :(得分:0)

Greenplum在启动活动数据库时使用TCP连接,并告诉Segments主数据库的地址和数据库上的其他操作是UDP连接,主地址是从先前的TCP连接获得的。问题是该段只获取master的修改地址,并且如果master使用NAT方法,则尝试将消息发送到修改的地址。然后解决方法之一是通过在源代码中修改proc-&gt; listenerAddr的值来告知段主站发送查询时的地址。

答案 2 :(得分:0)

在选择和插入时,我也遇到了同样的问题,但是Teddy的最后一条评论对我有用,即为所有主机(主机和网段)启用UDP协议。 因此,对于greenplum,几乎不需要启用TCP,UDP,SSH,ICMP的任何协议。