解决gpfdist的问题
解决gpfdist的问题
Segment在运行时访问gpfdist。确保Greenplum的Segment主机具有到gpfdist的网络访问。gpfdist是一个Web服务器:可以通过从Greenplum阵列的每一个主机(Segment和Master)运行下列命令来测试连接:
$ wget http://gpfdist_hostname:port/filename
CREATE EXTERNAL TABLE定义必须有用于gpfdist的正确的主机名、端口以及文件名。以相对于gpfdist提供文件的目录(gpfdist启动时指定的目录路径)的方式指定文件和路径。请见创建外部表 - 例子。
如果用户在其系统上启动gpfdist且IPv6网络被禁用,测试一个IPv6端口时,gpfdist会显示下列警告消息。
[WRN gpfdist.c:2050] Creating the socket failed
如果对应的IPv4端口可用,gpfdist会使用该端口并且忽略对于IPv6端口的警告。要查看gpfdist测试的端口的信息,使用-V选项。
有关IPv6和IPv4网络的信息,请见操作系统的文档。
当用gpfdist或者gfdists协议读写数据时,gpfdist工具拒绝头部不包括X-GP-PROTO的HTTP请求。如果在头部没有检测到X-GP-PROTO,gpfist会在HTTP响应头部的状态行中返回一个400错误:400 invalid request (no gp-proto)。
Greenplum数据库会在HTTP请求头部包括X-GP-PROTO以表示该请求是来自于Greenplum数据库。