实战:轻松搞定ambari setup 意外错误

551 阅读2分钟

轻松搞定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 检测代码

  1. 修改 _IS_KYLIN_LINUX 变量以检测 /etc/os-release 文件,而不是 /etc/kylin-release

    _IS_KYLIN_LINUX = os.path.exists('/etc/os-release')
    
  2. _is_kylin_linux 函数不需要修改,保留如下:

    def _is_kylin_linux():
        return _IS_KYLIN_LINUX
    
  3. 将对应的 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 对应的支持信息进行匹配,以确保配置的准确性。