報錯1:
Using python /usr/bin/python
Starting ambari-server
Ambari Server running with administrator privileges.
ERROR: Exiting with exit code -1.
REASON: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property "server.jdbc.driver.path=[path/to/custom_jdbc_driver]" in ambari.properties.
**原因分析:**也就是說mysql的驅動程序jdbc放的位置不對,ambari無法找到這個驅動程序,也就無法連上mysql的ambari數據庫,從而報錯。
解決方法:
方法1:
yum install -y mysql-connector-java
方法2:
需要查看如下幾個目錄, 確保 JDBC 在
/usr/share/java
/var/lib/ambari-server/resources 和 /var/lib/ambari-server
/usr/lib/ambari-server
如果不在,就把jdbc的jar包複製進去,如果/usr/share/java這個目錄不存在,那麼可以創建這個目錄。
報錯2:
REASON: Server not yet listening on http port 8080 after 90 seconds. Exiting.
原因分析: 可能來不及監聽吧,導致在一定時間內沒有響應,就直接退出了。
解決方法:
重啓ambari。
報錯3:
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...........................................ERROR: Exiting with exit code -1.
REASON: Ambari Server java process has stopped. Please check the logs for more information.
原因分析:
由於這個報錯原因太過籠統(概括性), 所以查看日誌進行分析:
tail -200 /var/log/ambari-server/ambari-server.log
可以看到這裏:
Access denied for user 'ambari'@'%' to database 'ambari'
報錯說,ambari這個user沒有權限直接連上數據庫。
解決方法:
方法1: 打開mysql終端,寫sql語句給ambari用戶權限,我用了方法2。
方法2:重新config 用root用戶配置。
最後,成功排除萬難: