Sign inSign up

anandimmannavar/azkaban-exec

By anandimmannavar

•Updated over 5 years ago

Azkaban 4.0.0 Executors

Image
0

129

anandimmannavar/azkaban-exec repository overview

⁠Dockerizing the Azkaban 4.0 version

Deploy Azkaban Executor as Docker Container

GitHub Repo - https://github.com/ab6o/azkaban-docker-4.0⁠

⁠Getting Started

This is the docker image for the Azkaban Executor

⁠Prerequisites

Has docker installed on your machine, If you're using Mac, Use this link for Docker Setup - https://docs.docker.com/docker-for-mac/install/⁠

⁠Database Setup

Follow the steps to create user, grant permissions and also setup entire DB

Creating Azkaban user with default credentials by logging into MySQL Console, Run the following commands.

mysql> create user 'azkaban'@'%' identified by 'azkaban';

Once the user is created, Create a database name azkaban

mysql> create database azkaban;

Grant permissions to azkaban user for azkaban DB

mysql> grant all privileges on azkaban.* to 'azkaban'@'%';

Once this is done, Let us create all the schema required for Azkaban.

$ mysql -uazkaban -pazkaban azkaban < <Project-Path>/azkaban-4.0.0/azkaban-db/build/sql/create-all-sql-0.1.0-SNAPSHOT.sql
⁠Multi Executor

Follow the steps to make it working in your Mac

$ docker network create azk-net

This creates bridge network in your local

$ docker run --env AZK_MYSQL_HOST=host.docker.internal --network azk-net -d --rm -p 80:8081 anandimmannavar/azkaban-exec:2.0

Here we are running executor container and connecting it to the bridge network created azk-net

$ docker run --env AZK_MYSQL_HOST=host.docker.internal --network azk-net -d --rm -p 80:8081 anandimmannavar/azkaban-web:2.0

Running Azkaban Web Server and also connect this web server to azk-net bridge network

⁠Fixes (Executor Activation)

Currently Executor auto register whenever it starts, but It will register with hostname (Container Id) instead of IP, So here is work around for now

Get the IP of executor

$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id

and run the following command in MySQL after replacing the IP and Container Id mentioned

mysql>  update executors set host= "<IP>" where host="<container-Id>";

Tag summary

Content type

Image

Digest

Size

271.3 MB

Last updated

over 5 years ago

docker pull anandimmannavar/azkaban-exec:2.0