Configurations

Azkaban can be configured in many ways. The following describes the knobs and switches that can be set. For the most part, there is no need to deviate from the default values.

Azkaban Web Server Configurations

These are properties to configure the web server. They should be set in azkaban.properties.

General Properties

Parameter Description Default
azkaban.name The name of the azkaban instance that will show up in the UI. Useful if you run more than one Azkaban instance. Local
azkaban.label A label to describe the Azkaban instance. My Local Azkaban
azkaban.color Hex value that allows you to set a style color for the Azkaban UI. #FF3601
azkaban.depth Graph expansion level. Zero (0) means all flows are collapsed when the graph is rendered for the first time. 2 This means the flows will be recursively expanded up to two levels down when the graph is 1st shown.
web.resource.dir Sets the directory for the ui’s css and javascript files. web/
default.timezone The timezone that will be displayed by Azkaban. America/Los_Angeles
viewer.plugin.dir Directory where viewer plugins are installed. plugins/viewer
job.max.Xms The maximum initial amount of memory each job can request. This validation is performed at project upload time 1GB
job.max.Xmx The maximum amount of memory each job can request. This validation is performed at project upload time 2GB

Multiple Executor Mode Parameters

Jetty Parameters

Parameter Description Default
jetty.maxThreads Max request threads 25
jetty.ssl.port The ssl port 8443
jetty.keystore The keystore file  
jetty.password The jetty password  
jetty.keypassword The keypassword  
jetty.truststore The trust store  
jetty.trustpassword The trust password  

Project Manager Settings

Parameter Description Default
project.temp.dir The temporary directory used when uploading projects temp
project.version.retention The number of unused project versions retained before cleaning 3
creator.default.proxy Auto add the creator of the projects as a proxy user to the project. true
lockdown.create.projects Prevents anyone except those with Admin roles to create new projects. false
lockdown.upload.projects Prevents anyone but admin users and users with permissions to upload projects. false

MySQL Connection Parameter

Parameter Description Default
database.type The database type. Currently, the only database supported is mysql. mysql
mysql.port The port to the mysql db 3306
mysql.host The mysql host localhost
mysql.database The mysql database  
mysql.user The mysql user  
mysql.password The mysql password  
mysql.numconnections The number of connections that Azkaban web client can open to the database 100

Executor Manager Properties

Parameter Description Default
execution.logs.retention.ms Time in milliseconds that execution logs are retained 7257600000L (12 weeks)

Notification Email Properties

Parameter Description Default
mail.sender The email address that azkaban uses to send emails.  
mail.host The email server host machine.  
mail.user The email server user name.  
mail.password The email password user name.  

User Manager Properties

Parameter Description Default
user.manager.class The user manager that is used to authenticate a user. The default is an XML user manager, but it can be overwritten to support other authentication methods, such as JDNI. azkaban.user.XmlUserM anager
user.manager.xml.file Xml file for the XmlUserManager conf/azkaban-users.xm l

User Session Properties

Parameter Description Default
session.time.to.live The session time to live in ms seconds 86400000
max.num.sessions The maximum number of sessions before people are evicted. 10000

Azkaban Executor Server Configuration

Executor Server Properties

MySQL Connection Parameter

Parameter Description Default
database.type The database type. Currently, the only database supported is mysql. mysql
mysql.port The port to the mysql db 3306
mysql.host The mysql host localhost
mysql.database The mysql database  
mysql.user The mysql user  
mysql.password The mysql password  
mysql.numconnections The number of connections that Azkaban web client can open to the database 100

Plugin Configurations

Execute-As-User

With a new security enhancement in Azkaban 3.0, Azkaban jobs can now run as the submit user or the user.to.proxy of the flow by default. This ensures that Azkaban takes advantage of the Linux permission security mechanism, and operationally this simplifies resource monitoring and visibility. Set up this behavior by doing the following:-

Execute.as.user is set to true by default. In case needed, it can also be configured to false in azkaban-plugin’s commonprivate.properties Configure azkaban.native.lib= to the place where you are going to put the compiled execute-as-user.c file (see below) Generate an executable on the Azkaban box for azkaban-common/src/main/c/execute-as-user.c. it should be named execute-as-user Below is a sample approach

  • scp ./azkaban-common/src/main/c/execute-as-user.c onto the Azkaban box
  • run: gcc execute-as-user.c -o execute-as-user
  • run: chown root execute-as-user (you might need root privilege)
  • run: chmod 6050 execute-as-user (you might need root privilege)