- AWS instance 만들기
- 시스템에 Docker 설치
sudo curl -sSL get.docker.com | sh
- 현재 사용자를 Docker 그룹에 추가
sudo usermod -aG docker $USER
- airflow 폴더 만들기
mkdir airflow
- home 위치에서
sudo visudo
(인스턴스에서 쉽게 사용하기 위해서 권한 부여함.)
ubuntu ALL=(ALL:ALL) ALL
권한부여
- Airflow 2.5버전 이미지 가져오기
https://hub.docker.com/r/apache/airflow/tags?page=3&name=3.8
docker run -it -p 8080:8080 -v /home/ubuntu/airflow:/opt/airflow/dags/ --entrypoint=/bin/bash --name airflow2.5 apache/airflow:2.5.0-python3.8
- --name airflow2.5
: Docker 컨테이너에 이름을 지정하는 옵션- apache/airflow:2.5.0-python3.8
: Docker 이미지 지정
- airflow docker 실행 여부 확인
ctrl p q
→sudo docker ps -a
- airflow 폴더 안에
sudo apt install vim
(추후 airflow 파일 만들기 위해서 vim 설치함)
cd ~
→sudo docker strat -ai airflow2.5
→ Airflow 컨테이너의 셸 프롬프트 접속
airflow@873bf19bdfb0:/opt/airflow$
- Airflow 컨테이너의 셸 프롬프트 접속 상태에서
airflow db init
→ airflow 사용자 생성airflow users create --username admin --password admin --firstname Anonymous --lastname Admin --role Admin --email admin@example.org
→
airflow webserver &
→airflow scheduler
- 인스턴스 public ip:8080 -> airflow site 들어가서 로그인해보기
Ctrl + p +q
sudo docker start -ai airflow2.5
( 앞단계에서 exit 했을 경우, 다시 airflow docker 실행 후 다음단계 진행)
- root 접속하기
docker exec -it -u root airflow2.5 bash
- sud visudo로 airflow 유저에게 sudo 권한 부여
sudo visudo
→airflow ALL=(ALL:ALL) ALL
sudo apt update
,sudo apt install vim
- airflow 비밀번호 초기화 및 재설정
passwd airflow
명령어 실행
New password:
Retype new password:
passwd: password updated successfully
Ctrl + p +q
sudo docker attach airflow2.5
sudo visudo
실행 후 비밀번호 설정 재확인
- airflow code에 필요한 install 설치하기
sudo apt update
sudo apt install wget
sudo apt install unzip
pip install selenium
..etc (airflow 코드에 필요한 pip install 하기)
Chromdriver 설치
설치 시, chrome버전과 chromdriver 버전이 동일해야함.sudo wget https://www.slimjet.com/chrome/download-chrome.php?file=files%2F103.0.5060.53%2Fgoogle-chrome-stable_current_amd64.deb
sudo dpkg -i download-chrome.php\?file\=files%2F103.0.5060.53%2Fgoogle-chrome-stable_current_amd64.deb
sudo apt-get install -f
sudo wget https://chromedriver.storage.googleapis.com/103.0.5060.53/chromedriver_linux64.zip
sudo unzip chromedriver_linux64.zip
기존 Docker engine을 삭제
sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli
Docker 및 관련 패키지를 완전히 제거
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce
Docker와 관련된 데이터와 설정이 시스템에서 완전히 삭제
sudo rm -rf /var/lib/docker /etc/docker
Docker와 관련된 AppArmor 프로파일을 제거
sudo rm /etc/apparmor.d/docker