轻松搞定ambari setup 意外错误
在安装 Ambari 服务器时收到 "Ambari repo file path not set for current OS" 错误?此指南将帮助你通过修改特定配置文件来解决此问题,使你的 Ambari 安装顺利进行。
ERROR: Unexpected error Ambari repo file path not set for current OS.
ambari-server setup
Using python /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):
ERROR: Unexpected error Ambari repo file path not set for current OS.
ERROR: Exiting with exit code 1.
REASON: Failed to create user. Exiting.
解决
在进行以下步骤前,请确保你有相应的权限修改文件(通常需要 root 或 sudo 权限)。
步骤1:确认错误日志
确认错误日志文件位于 /var/log/ambari-server/ambari-server-command.log。这个文件包含了更详细的错误信息,可以用于进一步排查问题。
步骤2:修改 os_check.py 文件
编辑 /usr/lib/ambari-server/lib/ambari_commons/os_check.py 文件来绕过当前操作系统无法识别的问题。
sudo vim /usr/lib/ambari-server/lib/ambari_commons/os_check.py
步骤3:确认和修改 OS 检测代码
-
修改
_IS_KYLIN_LINUX变量以检测/etc/os-release文件,而不是/etc/kylin-release。_IS_KYLIN_LINUX = os.path.exists('/etc/os-release') -
_is_kylin_linux函数不需要修改,保留如下:def _is_kylin_linux(): return _IS_KYLIN_LINUX -
将对应的
elif条件修改为适合你当前操作系统的版本。如果未能正常工作,可以尝试修改为你的操作系统对应值。例如:elif _is_kylin_linux(): distribution = ("centos","7","core")
步骤4:保存修改并重新运行安装命令
保存文件并退出编辑器,然后重新运行 ambari-server 的设置命令:
sudo ambari-server setup
如果问题依然存在,或遇到新的错误,请再次检查 /var/log/ambari-server/ambari-server-command.log 文件,并确认你修改的 os_check.py 文件内容无误。
完整修改/usr/lib/ambari-server/lib/ambari_commons/os_check.py
### 注意空格
### 第一点:/etc/kylin-release不存在改成/etc/os-release
_IS_KYLIN_LINUX = os.path.exists('/etc/os-release')
### 第二点(不用改)
def _is_kylin_linux():
return _IS_KYLIN_LINUX
### 第三点(可以不改试一下,不行就要改成当前系统对应的)
elif _is_kylin_linux():
distribution = ("centos","7","core")
注意事项
- 确保证网络连接正常,且相应的存储库路径是可达的。
- 必要时,可以将具体的 OS 规范和 ambari 对应的支持信息进行匹配,以确保配置的准确性。