작성
·
80
답변 2
0
강사님 빠르게 답변해주셔서 감사드립니다.
ssh 오퍼레이터는 connection 정보 등록이 필요하다고 하셨는데 이 부분은 어떤식으로 등록하는지 간략하게라도 알 수 있을까요? 현재 제가 가지고있는 소스에서 어떤식으로 설정되어있는지 확인해보고 싶습니다.
0
안녕하세요 백미정님!
맞습니다. 말씀대로 보통은 ssh 오퍼레이터를 사용합니다.
ssh 오퍼레이터와 bash 오퍼레이터의 차이점은 다른 서버에 접속해서 명령을 수행하냐 마냐의 차이입니다.
ssh 오퍼레이터는 다른 서버에 접속(따라서 connection 정보 등록 필요) 해서 bash 명령을 수행하고 bash 오퍼레이터는 worker 노드 중 하나에서 bash 명령을 수행합니다.
보통 bash 명령을 수행하는 건 airflow worker 노드보다는 다른 서버에 작업을 지시하려는 경우가 많으므로 ssh 오퍼레이터를 더 많이 사용하게 됩니다.
제가 강의 구성시 실습에서도 ssh 명령을 구성하고 싶었는데, 컨테이너로 구성되다보니 ssh 접속에 어려움이 있어서 bash 오퍼레이터로 실습을 구성하게 됐습니다. 그래도 bash 명령을 전달한다는 공통점은 있으므로 bash 오퍼레이터로 실습하셔도 도움이 되실 것 같아요 ^^
궁금한건 언제든 물어보시고 화이팅입니다.
우선 Airflow UI 화면에서 admin - Connections에 보시면
Conn Type 중 ssh 로 설정된게 있을거에요.
SshOperator 사용할때는 Conn Type = ssh 인 커넥션 정보를 활용합니다.
실무에서 사용하시는 DAG 중에서 SshOperator를 사용하는 DAG을 찾을 수 있나요?
SshOperator를 사용하는 DAG을 보면 파라미터로 ssh_conn_id 가 있을거에요. 그 파라미터가 위에 설명한 Connection 정보를 찾는 파라미터입니다.
SshOperator에 대한 자세한 정보는 https://airflow.apache.org/docs/apache-airflow-providers-ssh/stable/_api/airflow/providers/ssh/operators/ssh/index.html
여기 참고해보세요 ^^