0

在 Centos7.1 上构建 incubator-hawq 后,我尝试对其进行初始化。但是会出现以下错误:

20160516:18:10:43:002036 hawqinit.sh:host-172-16-0-105:hawqadmin-[INFO]:-Loading hawq_toolkit...
ALTER ROLE
20160516:18:10:44:001766 hawq_init:host-172-16-0-105:hawqadmin-[INFO]:-20160516:18:10:43:002036 hawqinit.sh:host-172-16-0-105:hawqadmin-[INFO]:-Loading hawq_toolkit...
20160516:18:10:44:001766 hawq_init:host-172-16-0-105:hawqadmin-[INFO]:-Master init successfully
20160516:18:10:44:001766 hawq_init:host-172-16-0-105:hawqadmin-[INFO]:-Init segments in list: ['hawq-master']
20160516:18:10:44:001766 hawq_init:host-172-16-0-105:hawqadmin-[DEBUG]:-Start to init segment on node 'hawq-master'
20160516:18:10:44:001766 hawq_init:host-172-16-0-105:hawqadmin-[INFO]:-Total segment number is: 1
fgets failure: Success
The program "postgres" is needed by initdb but was either not found in the same directory as "/usr/hawq/bin/initdb" or failed unexpectedly.
Check your installation; "postgres -V" may have more information.
20160516:18:10:45:002318 hawqinit.sh:host-172-16-0-105:hawqadmin-[ERROR]:-Postgres initdb failed
20160516:18:10:45:002318 hawqinit.sh:host-172-16-0-105:hawqadmin-[ERROR]:-Segment init failed on host-172-16-0-105
20160516:18:10:45:001766 hawq_init:host-172-16-0-105:hawqadmin-[INFO]:-20160516:18:10:45:002318 hawqinit.sh:host-172-16-0-105:hawqadmin-[ERROR]:-Postgres initdb failed
20160516:18:10:45:002318 hawqinit.sh:host-172-16-0-105:hawqadmin-[ERROR]:-Segment init failed on host-172-16-0-105
20160516:18:10:45:001766 hawq_init:host-172-16-0-105:hawqadmin-[ERROR]:-HAWQ init failed on hawq-master
20160516:18:10:46:001766 hawq_init:host-172-16-0-105:hawqadmin-[INFO]:-0 of 1 segments init successfully
20160516:18:10:46:001766 hawq_init:host-172-16-0-105:hawqadmin-[ERROR]:-Segments init failed, exit

当我键入命令时,如下所示:

[hawqadmin@host-172-16-0-105 hawqAdminLogs]$ postgres -V
postgres (HAWQ) 8.2.15

有什么建议吗?谢谢!

4

5 回答 5

1

最近我在初始化集群时遇到了同样的错误。
Postgres -V显示正确的版本,which postgres显示/usr/local/hawq/bin/postgres,路径也已经设置,仍然面临上述错误。
最后通过设置并通过文件获取它LD_LIBRARY_PATH来解决。/usr/local/hawq/lib/.bashrc

于 2017-03-27T07:35:44.713 回答
1

如果“postgres -V”有效,则意味着 postgres 二进制文件很好。

在执行“hawq init cluster”之前,请确保:

1)greenplum_path.sh 中的 $GPHOME 正确设置为 hawq 二进制文件的目录,即 /usr/hawq 在您的情况下

2) 来源 $GPHOME/greenplum_path.sh

3) 检查 initdb 和 postgres 二进制文件是否在 $GPHOME/bin 中

于 2016-07-04T06:55:18.150 回答
1

从您上面粘贴的错误中,有两个可能的原因:

postgres(1)名为 is not的二进制文件/usr/hawq/bin/postgres,可以which postgres用来检查路径。

(2) postgres 的依赖库可能是错误的。您可以使用lddfor linux 或otoolfor mac 打印所有依赖的库路径,并检查它们。

另外,如果在初始化hawq的时候出现任何错误,请登录后查看~/hawqAdminLogs/,您可以找到具体的错误信息。

希望它可以帮助您找出根本原因。

于 2016-07-04T09:10:36.643 回答
0
  1. 确保您已成功编译 hawq 并安装它们
  2. 检查 postgres 是否与 initdb 在同一个目录中
  3. 如果您的电脑中有超过 1 个 postgres,请确保 postgres 的路径(与 initdb 相同的目录)在您的 PATH 中。
于 2016-07-12T03:07:21.703 回答
0

看起来您可能已经在不同的目录中安装了 hawq 二进制文件。请检查以下内容

1.确保你有所有正确的 PATH 设置

  1. 检查 hawq initdb 二进制文件是否在 /usr/hawq/bin/ 目录中
于 2016-05-16T16:36:40.290 回答