02.01.2024
0
Beğenme
23
Görüntülenme
Bugün yazımda Google Cloud üzerinde oluşturmuş olduğumuz Linux tabanlı sanal makineye Docker ile Apache Airflow kurulumunu göstereceğim. Öncelikle “Apache Airflow nedir?” sorusunu cevaplandıralım. Apache Airflow, şirketlerin iş akışlarının giderek karmaşık bir hal alması sebebiyle ortaya çıkan, toplu iş akışlarını geliştirmek, planlamak ve izlemek için kullanılan açık kaynaklı bir araçtır.
Airflow’dan bahsettiğimize göre sanal makinemize nasıl kuracağımızdan bahsedelim. Öncelikle sanal makinemize Docker yüklüyoruz.
sudo apt-get update
2. Yeni Bir Depo Protokolü Oluşturma
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3. Komutu Curl ile İçeri Aktarma
curl -fsSL
https://download.docker.com/linux/ubuntu/gpg
| sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64]
https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable"
4. Yüklemeyi Tamamlama
sudo apt-get update
sudo apt-get install docker-ce
5. Kurulumu Doğrulama
sudo systemctl status docker
Sanal makinemize Docker’ı başarılı bir şekilde kurduk. Şimdi Docker ile Airflow’u ayağa kaldıralım.
Öncelikle Airflow için hazırlanan docker-compose.yaml dosyasına ihtiyacımız var. Bunun için terminalde aşağıdaki komutu yazıyoruz.
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.0/docker-compose.yaml'
docker-compose dosyamızda Airflow’un bizim için belirlediği bir id vermemiz ve Airflow’un ihtiyaç duyduğu klasörleri oluşturmamız gerekiyor. Bu id’yi ve klasörleri oluşturmak için aşağıdaki komutu giriyoruz.
mkdir -p ./dags ./logs ./plugins ./config
echo -e "AIRLOW_UID=$(id -u)" > .env
Sonrasında Airflow’un Linux ve MacOs kullanıcılarının komutları daha basit bir komutla çalıştırmanıza olanak tanıyan isteğe bağlı komut dosyalarını indirebilirsiniz.
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.8.0/airflow.sh'
chmod +x airflow.sh
./airflow.sh info
Daha öncesinde yapmış olduğunuz bir projeyi Airflow’a aktaracaksanız ve requirements.txt dosyanız varsa Dockerfile dosyası oluşturup bu şekilde Airflow’u ayağa kaldırmanız daha isabetli olacaktır.
Örnek bir Dockerfile oluşturmak için aşağıdaki komutları uygulayabilirsiniz.
vim Dockerfile
Düzenlemeleri yapıp çıkmak için ESC + :wq
yazıyoruz.
Dockerfile’yi de oluşturduğumuza göre yapmamız gereken bir şey daha kalıyor. Daha öncesinde indirmiş olduğumuz docker-compose.yaml dosyasına gidiyoruz ve aşağıdaki değişliği yapıyoruz.
docker-compose.yaml dosyasını da düzenledikten sonra aşağıdaki komutla Airflow’u ayağa kaldırıyoruz.
docker compose up --build -d
permission denied hatası alırsanız aşağıdaki komutları kullanın.
sudo usermod -aG docker $USER
sudo systemctl stop docker
sudo systemctl start docker
docker compose up --build -d
Dockerfile ile birlikte Airflow’u başarıyla ayağa kaldırdık. Şimdi de sanal makinemizin External IP’sinden Airflow UI’ye giriş yapıcaz.
Karşımıza aşağıdaki gibi bir ekran çıkacak. Username: airflow Password: airflow
Başarıyla Airflow’a ayağa kaldırdık ve Airflow UI’ye giriş yaptık.
Bana aşağıdaki bağlantılardan ulaşabilirsiniz.
Kullanıcı yorumlarını görüntüleyebilmek için kayıt olmalısınız!