开源Greenplum:从外部表中选择时,GPFDIST错误“分段错误”

问题描述 投票:1回答:2

我正在尝试简单地设置一个开源Greenplum实例,并且几天来一直在关于GPFDIST的问题!简单地说,我在CentOS 7.6上从头开始进行全面安装(如果需要,可以提供有关设置的更多详细信息)安装OS GPDB软件版本5.18并禁用GPORCA。编译的完整命令是:

./configure --prefix=/usr/local/gpdb --with-perl --with-python --with-libxml --with-gssapi --with-includes=/usr/local/gpdb/include --with-libs=/usr/local/gpdb/lib --disable-orca

这成功编译,以下make / make install命令太完整没有问题。 Greenplum数据库本身的初始化也很成功,然后我可以进入数据库并创建表,插入数据并运行正常的查询。

但是,如果我尝试从外部表中进行选择,例如以下内容:

create external table test_external_table
(testing smallint
)
location ('gpfdist://mdw:8080/test_data.csv')
format 'csv' (header delimiter '|')
;

使用GPFDIST运行如下:

gpfdist -d /home/gpadmin/test/ -p 8080 -l /home/gpadmin/greenplum/logs/gpfdist_log 2>&1 &

然后我得到两个错误;一个来自外部表,一个来自GPFDIST。这些如下:

External Table Returns:
ERROR:  connection with gpfdist failed for gpfdist://mdw:8080/test_data.csv. effective url: http://127.0.0.1:8080/test_data.csv. error code = 104 (Connection reset by peer)  (seg0 slice1 127.0.0.1:6000 pid=27962)

GPFDIST Returns:
[1]+  Segmentation fault      gpfdist -d /home/gpadmin/test -p 8080 -l /home/gpadmin/greenplum/logs/gpfdist_log 2>&1

我已经删除了操作系统GPDB GitHub安装指南中没有的所有内容(对于'裸机'设置),所以我认为这不会导致问题。我已经尝试了与主机名和网络防火墙有关的一切,就我所见,这一切都很完美。

我还从Pivotal下载了相同版本的GPDB(5.18)并同时在同一个实例上安装了该版本,GPFDIST工作得很好。

我也尝试过OS GPDB 5.17,6 beta和7 beta,我对所有这些都有同样的问题。

关于可能导致这种情况的任何想法都非常值得赞赏,因为我现在正在努力解决这个问题。

非常感谢您提前寻求帮助。

- 编辑 -

好吧..在尝试在CentOS 7上安装debuginfo的东西时,我几乎完全挫败了自己的手臂,我终于用gdb生成了一个核心转储。然后我跑:

gdb -c core_dump.<pid>

并获得以下输出:

Core was generated by `gpfdist -d /home/gpadmin/test -p 8080 -l /home/gpadmin/greenplum/logs/gpfdist_log'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f4f2c07bdff in ?? ()

但是我完全不知道这意味着什么......完全诚实,我现在对这个问题有点过头了,真的很困难如何继续下去。

greenplum
2个回答
0
投票

由peer重置的连接仅表示套接字的另一端已经丢弃(在这种情况下,gpfdist因为它崩溃了)。

设置你的gpfdist并尝试wget到托管文件添加:

--header='X-GP-PROTO:0'

您需要添加标头以避免请求被拒绝。

你能在那里检索一个文件吗?或者那也崩溃了?

如果崩溃了,它与数据库无关 - 你可能需要一个核心转储来确定segfault的内容(r / w权限,内存,......)。


0
投票

我终于设法解决了这个问题。如果有人来看看类似的问题,请确保你正在安装Libevent 1.4版[.15],并且没有任何东西。

我安装了2.2.0,虽然Greenplum认为这很好,但它实际上并不适用。不幸的是,我确实必须从头开始进行整个系统的安装才能让它正常工作,因为在Greenplum已经编译的旧系统上安装Libevent 1.4并不适用于我。

© www.soinside.com 2019 - 2024. All rights reserved.