无法在 PostgreSQL 的 ambari 服务器设置中验证用户 "ambari"

Can't authenticate user "ambari" in ambari-server setup in PostgreSQL

我正在单个实例 RHEL 7 节点上设置 Hortonworks Hadoop 堆栈。我卡在设置 ambari-server 的部分,使用我的 PostgreSQL 9.2.15 数据库(不是默认的,不是嵌入的)。

我还打算将同一个 PostgreSQL 实例用于 Hive 和 Oozie。

按照此处的说明操作后:

https://docs.hortonworks.com/HDPDocuments/Ambari-2.2.2.0/bk_ambari_reference_guide/content/_using_ambari_with_postgresql.html

https://docs.hortonworks.com/HDPDocuments/Ambari-2.2.2.0/bk_ambari_reference_guide/content/_using_hive_with_postgresql.html

https://docs.hortonworks.com/HDPDocuments/Ambari-2.2.2.0/bk_ambari_reference_guide/content/_using_oozie_with_postgresql.html

这是我命名数据库、用户和架构的方式:

ambari, ambari, ambari

hive, hive

oozie, oozie

这就是我配置 /var/lib/pgsql/data/pg_hba.conf 文件的方式:

# Default
local   all     all     peer
host    all     all     127.0.0.1/32    ident

# added settings
local   all     ambari  md5
host    all     ambari  0.0.0.0/0   md5
host    all     ambari  ::/0        md5
host    oozie   oozie   <my-host-ip>/0  md5
host    hive    hive    <my-host-ip>/0  md5

我 运行 这个,对于 Hive 和 Oozie:

$ ambari-server setup --jdbc-db=postgres --jdbc-driver=/usr/share/java/postgresql-jdbc.jar

然后进行实际的 Ambari 设置

$ ambari-server setup

Enter advanced database configuration [y/n]? y
...
Enter choice (1): 4
Hostname (localhost): <my-fqdn-host-name>
Port (5432):
Database name (ambari):
Postgres schema (ambari):
Username (ambari):
Enter Database Password (bigdata) : <my-ambari-password>

但是,我无法启动 ambari-server,因为我从 /var/log/ambari-server/ambari-server.log 的多行中得到:

Internal Exception: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "ambari"

虽然我确定我的密码是正确的,而且我什至可以使用

连接
$ psql -h <my-fqdn-host-name> -U ambari -d ambari -W
password: <my-ambari-password>

$ psql -h <my-host-ip> -U ambari -d ambari -W
password: <my-ambari-password>

但是,我无法连接

$ psql -h localhost -U ambari -d ambari -W
password: <my-ambari-password>
psql: FATAL: Ident authentication failed for user "ambari"

$ psql -h 127.0.0.1 -U ambari -d ambari -W
password: <my-ambari-password>
psql: FATAL: Ident authentication failed for user "ambari"

我得到的错误与从 /var/log/ambari-server/ambari-server.log 得到的错误相同。我怀疑 ambari-server setup 是通过 localhost 连接的,这就是为什么我得到同样的错误。

你能告诉我我使用 Ambari and/or Postgres 的配置有什么问题吗?

问题出在您的 pg_hba.conf 文件上。

从上到下解析,第一个匹配的行被使用
在您的情况下,选择的行是

host    all     all     127.0.0.1/32    ident

(您似乎是从本地主机连接的)这不是您想要的。

删除该行或将其移至文件末尾。