ambari 集群异常断电导致启动失败。试了好几次ambari-server start命令,都不好使;重启服务器几次,也仍然是不行。
失败错误如下:
[root@master ~]# ambari-server restart
Using python /usr/bin/python
Restarting ambari-server
ERROR: Could not create . Reason: [Errno 2] No such file or directory: ''
Traceback (most recent call last):
File "/usr/sbin/ambari-server.py", line 37, in <module>
from ambari_server.dbConfiguration import DATABASE_NAMES, LINUX_DBMS_KEYS_LIST
File "/usr/lib/ambari-server/lib/ambari_server/dbConfiguration.py", line 30, in <module>
from ambari_server.serverConfiguration import decrypt_password_for_alias, get_ambari_properties, get_is_secure, \
File "/usr/lib/ambari-server/lib/ambari_server/serverConfiguration.py", line 603, in <module>
configDefaults = ServerConfigDefaults()
File "/usr/lib/ambari-server/lib/ambari_server/serverConfiguration.py", line 512, in __init__
super(ServerConfigDefaultsLinux, self).__init__()
File "/usr/lib/ambari-server/lib/ambari_server/serverConfiguration.py", line 396, in __init__
self.check_if_directories_writable([self.OUT_DIR, self.PID_DIR])
File "/usr/lib/ambari-server/lib/ambari_server/serverConfiguration.py", line 448, in check_if_directories_writable
raise FatalException(-1, "Unable to access {0} directory. Confirm the directory is created and is writable by Ambari Server user account '{1}'".format(directory, getpass.getuser()))
ambari_commons.exceptions.FatalException: "Fatal exception: Unable to access directory. Confirm the directory is created and is writable by Ambari Server user account 'root', exit code -1"
首先我们看一下报错日志:No such file or directory: '' 没有找到什么文件。
我们先找一下ambari的配置文件。
[root@master libs]# find / -name ambari.properties
/etc/ambari-server/conf/ambari.properties
[root@master libs]#
[root@master conf]# pwd
/etc/ambari-server/conf
[root@master conf]# cat ambari.properties
[root@master conf]#
发现配置文件为空, 这个重大发现!!
尝试找到ambari版本一样的开发环境,把ambari的配置文件找到,直接替换进去。
重启ambari-server发现报
[root@master conf]# ambari-server start
Using python /usr/bin/python
Starting ambari-server
INFO: Looking for available JDKs at /usr/jdk64
ERROR: Exiting with exit code 1.
REASON: No JDK found, please run the "ambari-server setup" command to install a JDK automatically or install any JDK manually to /usr/jdk64
[root@master conf]#
根据报错可以发现,是jdk找不到,我们打开ambari.properties的配置文件,搜索jdk,找到JDK配置文件路径和名称,结合本地部署的JDK进行修改。
再次启动ambari-server 终于启动起来了,剩下的就是启动客户端和相关的组件集群了!
[root@master conf]# ambari-server start
Using python /usr/bin/python
Starting ambari-server
Ambari Server running with administrator privileges.
Organizing resource files at /var/lib/ambari-server/resources...
Ambari database consistency check started...
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start....................
Server started listening on 8080
DB configs consistency check: no errors and warnings were found.
Ambari Server 'start' completed successfully.