我一直试图通过github页面上的这些说明安装hawq群集。
他们工作得很好,直到我到达最后一个命令hawq init cluster
。错误日志的最后一部分是:
------------------------------------------------------------------
-- Create HDFS filesystem
------------------------------------------------------------------
CREATE FILESYSTEM HDFS
(
gpfs_libfile = ""$libdir/gpfshdfs.so"",
gpfs_connect = ""gpfs_hdfs_connect"",
gpfs_disconnect = ""gpfs_hdfs_disconnect"",
gpfs_open = ""gpfs_hdfs_openfile"",
gpfs_close = ""gpfs_hdfs_closefile"",
gpfs_seek = ""gpfs_hdfs_seek"",
gpfs_tell = ""gpfs_hdfs_tell"",
gpfs_read = ""gpfs_hdfs_read"",
gpfs_write = ""gpfs_hdfs_write"",
gpfs_flush = ""gpfs_hdfs_sync"",
gpfs_delete = ""gpfs_hdfs_delete"",
gpfs_chmod = ""gpfs_hdfs_chmod"",
gpfs_mkdir = ""gpfs_hdfs_createdirectory"",
gpfs_truncate = ""gpfs_hdfs_truncate"",
gpfs_getpathinfo = ""gpfs_hdfs_getpathinfo"",
gpfs_freefileinfo = ""gpfs_hdfs_freefileinfo""
);
",,"internal_load_library","dfmgr.c",208,
child process exited with exit code 1
initdb: removing contents of data directory "/home/gpadmin/hawq-data- directory/masterdd"
Master postgres initdb failed
20171208:13:39:48:000221 hawq_init:centos7-namenode:gpadmin-[INFO]:-Master >postgres initdb failed
20171208:13:39:48:000221 hawq_init:centos7-namenode:gpadmin-[ERROR]:- Master init failed, exit
查看dfmgr.c,错误似乎是关于一个丢失的文件,它应该通过ereport()
输出的名称,但我无法看到它转到stderr或其他任何地方。
initdb
二进制存在,postgresql
存在,AFAICT环境变量设置正确。
有什么想法吗?
答案 0 :(得分:0)
如果您使用docker运行HAWQ,请确保sshd以root用户身份运行。 HAWQ init使用本地ssh进行一些验证。
$ sudo /usr/sbin/sshd
答案 1 :(得分:0)
使用initdb -D [HAWQ DATA PATH] -d
显示所有调试消息。更多细节infor会给你一些提示。
取决于您的描述,我认为如果它包含“fixedwidth.so”,您应该检查$GPHOME/lib/postgresql
目录。如果没有,请转到您的HAWQ源代码contrib / formatter_fixedwidth子目录。
执行make;make install
。