ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Airflow 설치방법] Airflow Conda 환경에서의 설치 방법
    데이터 엔지니어링/AirFlow 2022. 6. 21. 08:16
    반응형

    airflow 설치하기 (conda 환경 하에서 진행)

    $ pip install apache-airflow
    ~~~~~ 설치 관련 log 출력
    
    $ 버전으로 설치하고 싶다면
    $ pip install apache-airflow=={airflow-version}
    
    $ which airflow
    /Users/planit/opt/anaconda3/bin/airflow

    기본 내용 확인

    # airflow 에서 제공하는 명령어 확인
    $ airflow 
    
    usage: airflow [-h] GROUP_OR_COMMAND ...
    
    positional arguments:
      GROUP_OR_COMMAND
    
        Groups:
          celery         Celery components
    			...
    
        Commands:
          cheat-sheet    Display cheat sheet
    	    ...
    
    airflow command error: the following arguments are required: GROUP_OR_COMMAND, see help above.
    
    
    # group은 airflow celery ~~ 처럼 celery안에 명령어가 더 있다는 뜻 
    # Command는 그냥 한번에 실행 한다는 뜻 
    
    
    
    
    # airflow config 확인 - 관련정보는 .cfg 파일에 있는 내용 확인
    $ airflow config list
    [core]
    ...
    [database]
    ...
    [logging]
    ...
    [metrics]
    ...
    [secrets]
    ...
    [cli]
    ...
    [debug]
    ...
    [api]
    ...
    [lineage]
    ...
    [atlas]
    ...
    [operators]
    ...
    [hive]
    ...
    [webserver]
    ...
    [email]
    ...
    [smtp]
    ...
    [sentry]
    ...
    [local_kubernetes_executor]
    ...
    [celery_kubernetes_executor]
    ...
    [celery]
    ...
    [celery_broker_transport_options]
    ...
    [dask]
    ...
    [scheduler]
    ...
    [triggerer]
    ...
    [kerberos]
    ...
    [github_enterprise]
    ...
    [elasticsearch]
    ...
    [elasticsearch_configs]
    ...
    [kubernetes]
    ...
    [sensors]
    ...
    [smart_sensor]
    ...

    DB 만들기

    airflow에서 사용하는 db는 metadata를 넣기 위해서 임 기본으로 제공하는 db는 sqlite이며, cfg파일이 설정 파일인데 airflow config list 명령어를 치면 나오는 것이 바로 airflow.cfg파일의 내용이다. 나중에 서비스가 커지게 되면 mysql, postgresql로 변경하여 진행하면 됨

    # sqlite db 초기화 해서 만들기
    airflow db init
    

    유저 계정 생성

    # 계정 생성 명령어 (\\ 앞에 띄어쓰기 있어야함)
    $ airflow users create \\ 
    > --username {Login_ID} \\
    > --firstname {First_NAME} \\ 
    > --lastname {Last_NAME} \\
    > --role Admin \\              # 해당 부분은 고정
    > --password {Password} \\
    > --email {Email}
    
    # 한줄 명령어
    $ airflow users create --username {Login_ID} --firstname {First_NAME} --lastname {Last_NAME} --role Admin --password {Password} --email {Email}
    

    Webserver 시작하기

    web_server_host = 0.0.0.0, 기본 port는 8080임. 서버를 올렸다면, 호스트가 0.0.0.0으로 되어있어 자신의 ip주소를 바라보던가 localhost로 접속하면 된다. 그리고 위에서 만든 사용자 아이디 비밀번호로 접속

    # port 설정 하여 webserver 띄우기
    airflow webserver --port 9111
    
    # 아래 명령어는 cfg에 들어있는 default 내용으로 시작한다.
    airflow webserver
    

    Scheduler 실행

    Scheduler를 실행하지 않으면 airflow 에서 dags 폴더를 업데이트 하지 못함 구동원리가 Webserver를 구동하면 Scheduler를 바라보고 해당 내용을 가져 오기 때문

    airflow scheduler
    
    반응형

    댓글

Designed by Tistory.