Treasure Data が OSS として公開しているワークフローエンジン Digdag を使う機会があり、とりあえず動かすところまでやったのでその手順のメモ。
環境
- Amazon EC2
- t2.micro
- Ubuntu 16.04
このエントリを書いた時点での Digdag のバージョンは 0.9.16 だった。
新しいバージョンが出たらこのエントリは役に立たないかもしれないので注意。
Java 8 をインストール
JDK 8u72 以上が必要とのことなのでインストールする。
# apt update && apt upgrade
# apt install openjdk-8-jre
Digdag をインストール
curl で最新版の jar ファイルをダウンロードしていきて設置する。
これひとつでサーバにもクライアントにもなるっぽい。
# curl -o /usr/local/bin/digdag -L "https://dl.digdag.io/digdag-latest"
# chmod +x /usr/local/bin/digdag
パス追加とか面倒なので /usr/local/bin
に直接ぶっこんでしまった。
PostgreSQL 設定
digdag を起動するにはデータストレージが必要になる。
インメモリモード --memory
でも起動できるが、実際に使う場合には PostgreSQL などを指定するのがよいだろう。
database.type = postgresql
database.user = USER
database.password = PASSWORD
database.host = HOST
database.port = 5432
database.database = digdag
今回は RDS で PostgreSQL サーバが立っていたので、そこに digdag
という名前のデータベースを作って指定した。
Secret 機能の設定
Digdag Secret 機能を有効にする必要がある場合は、設定ファイルの追記とポリシーファイルの作成が必要になる。
詳しくは: DigdagのSecret機能を使う - Qiita
Systemd 設定
以下のような service ファイルを書いた。
[Unit]
Description=digdag
[Service]
Restart=always
ExecStart=/bin/sh -c "/usr/local/bin/digdag server --bind 0.0.0.0 --config /etc/digdag.properties --task-log /var/log/digdag/ --access-log /var/log/digdag"
[Install]
WantedBy=multi-user.target
どうやら ExecStart=
に指定する実行コマンドには jar ファイルを直接指定することができない1らしく、 /bin/sh -c "..."
で囲むことで解決した。
# systemctl enable digdag
サーバ起動時に自動起動する設定をしたら、実際に起動させてみる。
# systemctl start digdag
http://<IP Address>:65432/
にアクセスすると、Digdag の Web UI を使うことができる。