Fayson的github: https://github.com/fayson/cdhproject
推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f
1 问题现象
- 测试环境
1.Redhat7.4
2.CDH6.2.0
3.CDSW1.5.0
Fayson在前面的文章《后台查找CDSW中用户的审计日志》,讲述了如何通过访问CDSW的PG数据库查找用户的审计日志,今天Fayson在1.5.0版本的CDSW中,通过之前的方式无法正常的登录PG数据库,报错信息“psql: FATAL: role “postgres” does not exist”

2 异常分析
通过上述异常分析,Fayson猜测可能是由于CDSW升级后考虑到PG数据库的安全问题,从而将postgres用户的role删除了。像前面通过访问后台数据库查看CDSW用户审计日志一样就属于非法操作,可能就是为了防止Fayson这种不合常规的操作。
既然不能够通过切换到postgres用户直接登录PG数据库,那Fayson就通过账号密码的方式访问CDSW的数据库。通过分析发现CDSW的服务是由多个docker容器提供的服务组成(这里表达可能不够专业),Fayson找到提供Web访问界面的docker容器,Web界面显示的大部分信息都存储在数据,那同样可以通过在Web服务中找到访问CDSW数据库的方法(即账号和密码等信息)。
3 问题解决
1.通过如下docker命令找到正在运行的Web容器
[root@cd

在CDSW 1.5.0版本中,尝试通过postgres角色登录PG数据库出现“role 'postgres' does not exist”错误。分析可能是升级后为了安全考虑删除了该角色。解决方案是通过Web容器的环境变量获取数据库的账号密码,然后使用psql客户端远程访问CDSW数据库,成功解决了登录问题。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



