执行时报错,后来发现他的配置文件中写了相对路径!!所以必须在他的根目录下执行,命令为
nohup bin/azkaban-web-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out &
2017/07/07 10:49:21.475 +0800 ERROR [AzkabanWebServer] [Azkaban] Could not instantiate UserManager azkaban.user.XmlUserManager Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at azkaban.webapp.AzkabanWebServer.loadUserManager(AzkabanWebServer.java:230) at azkaban.webapp.AzkabanWebServer.<init>(AzkabanWebServer.java:181) at azkaban.webapp.AzkabanWebServer.main(AzkabanWebServer.java:726) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at azkaban.webapp.AzkabanWebServer.loadUserManager(AzkabanWebServer.java:226)
坑2:
azkaban 将脚本和job放在一个文件执行时会报错,同样的脚本,在Linux中执行就没有问题,在azkaban中执行就有问题.解决办法是commond=/home/hadoop/study/clean_top_n_city.sh
写成全路径执行,如果还报错,改一些脚本的格式,比如下面这个格式就一直报错!!,在linux下执行时没有问题的但是被调用就有问题
azkaban demo
#clean_top_n_city.job type=command command=/home/hadoop/study/clean_top_n_city.sh #command=echo hello