본문 바로가기
728x90
반응형
SMALL

Apache18

[Hadoop] 주키퍼 및 스파크 설정 주키퍼 설정 zoo.cfg 파일을 편집한다. cd /usr/local/zookeepercp ./conf/zoo_sample.cfg ./conf/zoo.cfg vim ./conf/zoo.cfgdataDir=/usr/local/zookeeper/datadataLogDir=/usr/local/zookeeper/logsmaxClientCnxns=0maxSessionTimeout=180000server.1=master1:2888:3888server.2=master2:2888:3888server.3=master3:2888:3888 myid을 설정한다. mkdir -p /usr/local/zookeeper/datamkdir -p /usr/local/zookeeper/logsvim /usr/local/zookeeper.. 2024. 6. 21.
[Apache Airflow] Slack 연동 Slack API slack API에서 어플리케이션을 생성한다. Create an app → From scratch을 선택한다.  앱 이름은 airflow_bot으로 입력하고, 봇을 띄우고자 하는 워크스페이스를 선택한다.  그 다음, Incoming Webhooks Off →On으로 변경한다.  그리고 페이지 하단의 Webhook URL에서 T로 시작하는 토큰값을 복사한다.  커넥션 등록 Slack의 경우 Airflow 설치시 기본 제공되는 Provider 중 하나로 Hook, Operator사용 가능하다. 커넥션에 Slack 관련 정보를 넣어주면 된다. 위에서 복사한 Webhook URL 토큰을 붙여 넣는다.  callback plugins/collbacks 디렉토리에 on_failure_callbac.. 2024. 6. 19.
[Apache Airflow] KaKao 연동 카카오 Developer 카카오 Developer에서 다음과 같이 애플리케이션을 추가한다.    카카오 연동 제품 설정에서 카카오 로그인의 활성화 설정 상태를 ON으로 변경한다.  Redirect URI는 https://example.com/oauth로 입력한다.  task에 대한 메시지를 전송하기 위해 동의 항목에서 선택 동의로 저장한다.  인가 코드  client_id는 앱 키 →REST API 키로 해서 아래 주소를 웹 브라우저를 통해 접속하여 인가 코드를 발급받는다. https://kauth.kakao.com/oauth/authorize?response_type=code&client_id={client_id}&redirect_uri=https://example.com/oauth&response_t.. 2024. 6. 19.
[Apache Airflow] Postgre DB 추가 Postgre 인스턴스 추가 로컬에서 docker-compose.yaml 파일을 다음과 같이 수정한다. services: postgres_custom: image: postgres:13 environment: POSTGRES_USER: 이름 POSTGRES_PASSWORD: 비밀번호 POSGRES_DB: 데이터베이스 TZ: Asia/Seoul volumes: - postgres-custom-db-volume:/var/lib/postgresql/data ports: - 5432:5432 # 외부에서 접속할 수 있도록 포트 노출volumes: postgres-db-volume: postgres-custom-db-volume: #.. 2024. 6. 18.
[Apache Airflow] Cron Schedule Cron Schedule Cron Schedule은 다음과 같이 task가 실행되어야 하는 시간 (주기)을 정하기 위한 다섯개의 필드로 구성된 문자열이다. {분} {시} {일} {월} {요일} Airflow의 모든 DAG는 실행 주기를 결정해야 하며, 일반적으로 Cron Schedule을 활용하여 DAG이 실행되어야 할 주기를 명시한다. 특수 문자 특수 문자설명*모든 값-범위 지정,여러 값 지정/증가값 지정L마지막 값 (일, 요일에만 설정 가능)※ 일에 L입력시 해당 월의 마지막 일 의미※ 요일에 L 입력시 토요일 의미#몇 번째 요일인지 지정 Cron Schedule설명비고15 2 * * *매일 02시 15분 0 * * * *매시 정각 0 0 1 * *매월 1일 0시 0분 10 1 * * 1매주 월요일 .. 2024. 6. 17.
[Apache Airflow] 개발 환경 구성 개발 환경 구성 DAG 개발시 서버에서 직접 개발하지 않으며, 일반적으로 git을 활용한 CI/CD 환경을 주로 이용한다. Airflow 서버가 별도로 존재한다고 가정할 때, 코드 개발은 로컬에서 개발 후 완성된 코드를 서버로 배포하는 식으로 진행한다. 다음 명령어로 파이썬 버전을 확인하고 로컬에서 동일한 버전을 설치한다. sudo docker exec -it {스케줄러 컨테이너ID} bashdefault@~: python-V 가상 환경 파이참에서는 프로젝트마다 가상 환경 생성이 가능하다.  Git 구성 git 홈페이지에서 프로그램을 OS에 맞게 다운 받고, git 계정을 설정한다. git config --global --edit 그 다음, 코드를 올리기 위한 github Repository 만들고, 레.. 2024. 6. 14.
[Apache Airflow] DAG 개발 DAG  DAG는 AirFlow에서 실행할 작업들을 순서에 맞게 구성한 워크플로우 (workflow)를 의미하는 방향성 있는 비순환 그래프라고 불린다. 여러 Task가 의존 관계를 통해 연결되어 있으며, 의존 관계는 순환되지 않고 한 방향으로 연결된다. DAG 개발 DAG는 1개 이상의 오퍼레이터로 정의되며 오퍼레이터는 하고자 하는 기능에 대한 설계도라 할 수있다. Task는 오퍼레이터 (클래스)를 통해 생성된 객체로 실제 job을 수행하는 대상이 된다. EC2서버의 /home/ubuntu/dags 디렉토리에 DAG 파일을 다음과 정의한다. /home/ubuntu/홈 디렉토리dags/dag을 모아놓는 디렉토리해당 디렉토리에 dag 파일을 저장해 두면 일정 시간이 지난 후 web에서 확인 가능plugins.. 2024. 6. 14.
[Django] 웹 서버 연동 원리 wsgi.py 장고는 runserver 명령을 사용하여 자체 웹 서버를 실행할 수 있다. 하지만 이 서버는 개발용으로만 사용하도록 설계되었으며 배포 환경에서 사용해서는 안된다. 따라서, 배포 환경에 사용하려면 Apache 또는 Nginx와 같은 웹 서버를 사용해야 한다. 이러한 웹 서버에 연결하려면 wsgi.py 파일을 만들어야 한다. 장고의 wsgi.py 파일에는 application 객체가 다음과 같이 정의되어 있다. application = get_wsgi_application() 웹 서버는 이 application 객체를 호출하여 장고 어플리케이션을 실행한다. 호출 전에 설정 정보를 로드해야 하며, 이 설정 정보는 mysite/wsgi.py 파일에 다음과 같이 지정된다. import os os.e.. 2023. 6. 28.
728x90
반응형
LIST