Ubuntu14.04安装Ambari创建集群时遇Permission denied问题求助
Ambari主机注册Permission Denied问题排查(Ubuntu 14.04环境)
我来帮你捋捋这个Ambari主机注册时的权限拒绝问题!既然你已经能手动SSH连接其他主机,Ambari UI也能正常访问,那咱们就从几个容易被忽略的细节入手——这类权限问题往往藏在配置的小细节里:
1. 确认Ambari使用的SSH密钥真的能免密登录
Ambari注册主机本质就是用指定用户(默认是root)通过SSH远程执行命令,所以得确保这个用户的密钥对能无密码登录目标主机:
- 登录到Ambari所在的hadoopmaster主机,切换到Ambari运行的用户(比如root),先检查密钥文件的存在性和权限:
要保证ls -la ~/.ssh/id_rsa(私钥)权限是600,id_rsa.pub(公钥)是644,.ssh目录权限是700——权限不对的话SSH会直接拒绝连接。 - 手动把公钥复制到目标主机的
~/.ssh/authorized_keys文件中,再测试:
这一步必须完全不需要输入密码就能登录,要是手动都不行,Ambari肯定也登不上。ssh 目标主机IP
2. 检查目标主机的SSH服务配置
Ubuntu 14.04的sshd默认配置可能有一些限制,编辑/etc/ssh/sshd_config,确保以下配置项是开启状态:
PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 PasswordAuthentication yes # 先临时开启,排查完成后可关闭 PermitRootLogin yes # 如果你用root用户部署Ambari的话
修改后重启SSH服务:
service ssh restart
3. 确认Ambari用户的无密码sudo权限
Ambari在注册主机时需要执行一些sudo命令(比如创建目录、安装依赖包),所以得确保安装用户有无密码sudo权限:
- 用
visudo编辑sudoers文件(千万别直接编辑/etc/sudoers,容易因语法错误搞坏系统):visudo - 找到或添加以下内容(如果是自定义用户,替换
your_user为你的用户名):
保存退出后,测试sudo是否无需密码:your_user ALL=(ALL) NOPASSWD: ALL
如果需要输入密码,那就是sudo权限的问题。sudo ls /root
4. 查看Ambari详细日志找具体线索
你提供的日志片段太简短,建议查看完整日志定位问题:
- 查看Ambari Server的日志:
tail -f /var/log/ambari-server/ambari-server.log - 如果目标主机已经尝试过注册,查看Ambari Agent的日志(若存在):
日志会明确说明是密钥验证失败、sudo权限不足,还是其他系统限制导致的问题。tail -f /var/log/ambari-agent/ambari-agent.log
5. 排查Ubuntu的AppArmor限制
Ubuntu 14.04默认启用AppArmor,有时会阻止Ambari的操作,你可以临时关闭测试:
service apparmor stop update-rc.d apparmor disable
如果关闭后能正常注册,再针对性配置AppArmor规则即可。
内容的提问来源于stack exchange,提问作者ParisaN
相关产品推荐
相关产品推荐

