无法在 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。
按照此处的说明操作后:
这是我命名数据库、用户和架构的方式:
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
(您似乎是从本地主机连接的)这不是您想要的。
删除该行或将其移至文件末尾。
我正在单个实例 RHEL 7 节点上设置 Hortonworks Hadoop 堆栈。我卡在设置 ambari-server
的部分,使用我的 PostgreSQL 9.2.15 数据库(不是默认的,不是嵌入的)。
我还打算将同一个 PostgreSQL 实例用于 Hive 和 Oozie。
按照此处的说明操作后:
这是我命名数据库、用户和架构的方式:
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
(您似乎是从本地主机连接的)这不是您想要的。
删除该行或将其移至文件末尾。