Azkaban 3.X Cannot find 'database.properties' 踩坑

前言

今天下载azkaban并编译,使用solo模式运行。在我解压后运行start-solo.sh时出发现运行失败,查看日志发现如下错误

[hadoop@hadoop001 azkaban-solo-server]$ tail bin/soloServerLog__2019-09-25+15\:43\:52.out 
2019/09/25 15:44:00.193 +0800 INFO [AzkabanDatabaseUpdater] [Azkaban] Use scripting directory sql
2019/09/25 15:44:00.193 +0800 INFO [AzkabanDatabaseUpdater] [Azkaban] Will auto update any changes.
2019/09/25 15:44:00.359 +0800 INFO [DataSourceUtils] [Azkaban] h2 DB path: /home/hadoop/app/azkaban-solo-server/bin/./h2
2019/09/25 15:44:02.130 +0800 ERROR [AzkabanWebServer] [Azkaban] Failed to start single server. Shutting down.
java.io.IOException: Cannot find 'database.properties' file in /home/hadoop/app/azkaban-solo-server/bin/sql/database.properties
	at azkaban.database.AzkabanDatabaseSetup.loadDBProps(AzkabanDatabaseSetup.java:178)
	at azkaban.database.AzkabanDatabaseSetup.loadTableInfo(AzkabanDatabaseSetup.java:102)
	at azkaban.database.AzkabanDatabaseUpdater.runDatabaseUpdater(AzkabanDatabaseUpdater.java:82)
	at azkaban.soloserver.AzkabanSingleServer.start(AzkabanSingleServer.java:93)
	at azkaban.soloserver.AzkabanSingleServer.main(AzkabanSingleServer.java:58)

多方尝试后发现必须在根目录执行该命令

解决办法

# 返回到azkaban-solo-server根目录
[hadoop@hadoop001 bin]$ cd ../
# 再执行带bin路径的启动命令
[hadoop@hadoop001 azkaban-solo-server]$ bin/start-solo.sh 

效果

xg

原因探究

我们查看报错的位置:
azkaban-solo-server/bin/sql/database.properties
可以发现它实际上到bin目录下的sql文件夹寻找database.properties文件去了,而实际上我们查看一下azkaban-solo-server的目录

[hadoop@hadoop001 azkaban-solo-server]$ ls
bin     plugins     sql    conf         lib         web

看见没有,sql目录在根目录里里面,我们可以看出是shell脚本的相对路径取错了。所以我们返回根目录,在根目录执行bin/start-solo.sh就可以啦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章