You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行scm_prepare_database.sh脚本失败:PostgreSQL Ident认证错误求助

解决Cloudera Manager scm_prepare_database.sh的PostgreSQL Ident认证失败问题

这个FATAL: Ident authentication failed for user "scm"错误是PostgreSQL默认的Ident认证机制导致的——PostgreSQL默认会尝试用当前操作系统用户匹配数据库用户,而你用root用户执行脚本时,操作系统用户root和数据库用户scm不匹配,所以认证被拒绝了。下面是具体的解决步骤:

步骤1:修改PostgreSQL的认证配置文件

  1. 对于你安装的PostgreSQL 9.2,pg_hba.conf配置文件的默认路径是:
    /var/lib/pgsql/9.2/data/pg_hba.conf
    
  2. 用文本编辑器打开该文件:
    sudo vim /var/lib/pgsql/9.2/data/pg_hba.conf
    
  3. 找到以下两条本地连接规则:
    local   all             all                                     ident
    host    all             all             127.0.0.1/32            ident
    
  4. 将规则中的ident替换为md5(md5是基于密码的认证方式,适配Cloudera脚本的调用场景),修改后内容如下:
    local   all             all                                     md5
    host    all             all             127.0.0.1/32            md5
    

步骤2:重启PostgreSQL服务使配置生效

在RHEL 7.4上执行命令重启服务:

sudo systemctl restart postgresql-9.2

步骤3:确认数据库用户scm的密码设置正确

  1. 切换到postgres用户登录PostgreSQL:
    sudo -u postgres psql
    
  2. 执行SQL命令重置scm用户的密码(替换为你执行脚本时要输入的密码):
    ALTER USER scm WITH PASSWORD 'your-scm-password';
    
  3. 退出psql交互环境:
    \q
    

步骤4:重新执行scm_prepare_database.sh脚本

再次运行你的脚本并输入刚才设置的密码:

sudo /opt/cloudera/cm/schema/scm_prepare_database.sh postgresql scm scm

如果还有问题,可以查看PostgreSQL日志(默认路径/var/lib/pgsql/9.2/data/pg_log)获取更详细的错误信息,进一步排查。

内容的提问来源于stack exchange,提问作者Tanishq Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:32:49