Azkaban is pipe-lining system with scheduling capability, a good substitute for cron as it provides typical manger’s functionalities, e.g.: monitoring, rerun, visualization and so on.
Due to the lack of example, user and vague documentation, it is not easy to setup Azkaban in non-standalone mode. However I was lucky. Albeit I was English educated, my Chinese is not at all bad. I have managed to find critical information in one of the Chinese blogs which is not available elsewhere. Long story short, please take note of following the followings should you want to install it as well.
- If working behind a proxy, for fast POC, you can avoid using ssl in web server by having:
jetty.use.ssl=false
jetty.port=1234 - For your webserver to work properly:
azkaban.default.servlet.path=/index
web.resource.dir=web/ - When using AJAX API, use actual url (lalalala.prod.jp.local) not ip address (localhost, 0.0.0.0, 127.0.0.1), if that makes any sense at all:
curl -k -X POST –data “action=login&username=azkaban&password=azkaban” http://lalalala.prod.jp.local:8080
You can thank me later.
In case of SSL, if you are not familiar already:
- Create key
openssl genrsa -aes128 -out jetty.key - Create cert
req -new -x509 -newkey rsa:2048 -sha256 -key jetty.key -out jetty.crt - Adding cert to keystore/ truststore
keytool -keystore keystore -import -alias jetty -file jetty.crt -trustcacerts
References:
- http://azkaban.github.io/azkaban/docs/latest/#webserver-setup
- http://www.eclipse.org/jetty/documentation/current/configuring-ssl.html#loading-keys-and-certificates
- https://unix.stackexchange.com/questions/347116/how-to-create-keystore-and-truststore-using-self-signed-certificate
- http://www.cnblogs.com/tannerBG/p/3835952.html