【发布时间】:2019-04-17 10:29:41
【问题描述】:
我正在尝试简单地设置一个开源 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
我已经删除了 OS 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 ?? ()
但我完全不知道这意味着什么......老实说,我现在对此有点过头了,真的不知道如何继续。
【问题讨论】:
-
您是否禁用了所有防火墙? 127.0.0.1 上的对等点重置连接是我跳出来的错误。
-
是的,它们已被禁用。而且,如前所述,我能够在同一个实例上安装官方 Pivotal GPDB 5.18 并从那里使用 GPFDIST,它使用相同的端口等(它本质上是相同的命令) - 这就是为什么我有点难住了。
-
目录中的每个文件都会发生这种情况,还是只是特定文件?即使使用简单的外部表和简单的文件,您也能重现问题吗?您还可以使用--enable-debug 构建吗?然后 gdb 就会知道错误发生在哪里...
标签: greenplum