728x90 반응형 SMALL AWS29 [MLops] 모델 추론 src/main.py 모델 확장 파일을 pth로 지정한다. model_ext = "pth"python src/main.py train --model_name movie_predictor --optimizer adam --num_epochs 20 --lr 0.002 src/utils/utils.py torch.save는 내부적으로 pickle을 사용해 직렬화 (마샬링) 후 저장하게 된다. 이는 보안적 취약점으로 작용하게 된다. 따라서, 최소한의 검증 절차인는 sha256 해시 알고리즘을 통해 변조 여부를 최소한으로 확인한다. import osimport randomimport hashlibfrom datetime import datetimeimport numpy as npimport torchdef pa.. 2024. 8. 13. [Spark] Jupyter Lab 디렉토리 설정 cd work/mkdir jupytercd jupyter/ 주피터 랩 설치 및 환경 설정 pyenv activate py3_11_9pip install jupyterlabjupyter lab --generate-config 처음 디렉토리로 이동하여 다음 명령을 실행한다. cd .jupyter/vim jupyter_lab_config.py 에디터에서 다음 코드를 c 객체 밑에 추가한다. c.NotebookApp.ip = '0.0.0.0' # 모든 네트워크 요청 수신c.NotebookApp.open_browser = False # 자동으로 웹 브라우저를 열지 않음c.NotebookApp.port = 8888 # 주피터 랩 서버가 사용할 포트 번호c.Noteboo.. 2024. 7. 15. [Hadoop] SSH 및 호스트 이름 설정 로컬 PC SSH 설정 배포된 6개의 인스턴스끼리 SSH 통신이 가능하도록 설정하고 각 서버의 호스트 이름을 설정한다. # config 편집vim ~/.ssh/configHost master1 HostName 100.100.100.101 User ubuntu IdentityFile ~/hadoop-keypair.pemHost master2 HostName 100.100.100.102 User ubuntu IdentityFile ~/hadoop-keypair.pemHost master3 HostName 100.100.100.103 User ubuntu IdentityFile ~/hadoop-ke.. 2024. 6. 21. [Hadoop] AMI 생성 및 인스턴스 복제 AMI 설정 앞서 설정한 인스턴스를 AMI로 생성하고 클러스터에 필요한만큼 인스턴스를 복제한다. 인스턴스 대시보드에서 master1 인스턴스를 선택하고 화면 우측 상단의 Actions (작업)을 클릭 후 Image and templates (이미지 및 템플릿)에서 이미지 생성을 클릭한다. 이미지 이름을 hadoop-eco-base라고 지정하고 화면 하단의 Create image을 클릭하여 AMI를 생성한다. 대시보드 화면 좌측 이미지 메뉴의 AMI를 클릭하여 AMI 대시보드를 확인한다. 그리고 시간이 지난 후 hadoop-eco-base의 상태가 사용 가능으로 변경되면 AMI로 인스턴스 시작을 클릭한다. Instance type (인스턴스 유형)은 이미지를 생성했던 t3.large를 선택한다. Ne.. 2024. 6. 21. [Hadoop] 플럼 및 하이브 설정 플럼 설정 flume-env.sh 파일을 설정한다. cd /usr/local/flume/confcp flume-env.sh.template flume-env.shvim flume-env.shexport JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64export JAVA_OPTS="-Xms100m -Xmx2000m -Dcom.sun.management.jmxremote" log4j2.xml 파일을 설정한다. vim log4j2.xml /usr/local/flume/logs 그 다음, 로그 디렉토리을 생성한다. mkdir -p /usr/local/flume/logs 하이브 설정 hive-env.sh 파일을 편집한다. cd $HIVE_HOME/confcp hive-e.. 2024. 6. 21. [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] 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] Python 오퍼레이터 Python 오퍼레이터 파이썬 함수를 실행시킬수 있는 오퍼레이터이며, 가장 많이 사용되는 오퍼레이터 중 하나이다. dags 디렉토리를 기본적으로 sys.path에 추가해주고 있기 때문에 dags 디렉토리에 dag 파일을 가져다 놓기만 해도 airflow는 DAG 인식이 가능하다. 뿐만 아니라 config, plugins 디렉토리도 sys.path에 추가해 주고 있으므로 파이썬 공통 모듈이나 설정 파일은 plugins 디렉토리 또는 config 디렉토리 안에 만들어 놓으면 dag에서 import하여 사용 가능하다. dags_python_operator.py from airflow import DAGimport pendulumfrom airflow.operators.python import PythonOp.. 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. [AWS] 도커 PostgreSQL 배포 PostgreSQL 이미지 docker image pull postgresdocker image ls PostgreSQL 컨테이너 실행 docker container run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres docker container ls PostgreSQL 컨테이너 내부 docker container exec -it {컨테이너 ID} /bin/bashpsql -U postgresALTER USER postgres WITH PASSWORD 'postgres';CREATE DATABASE ml; \listpostgres=# \qexit 데이터 보관 docker container stop {컨테이너 ID}do.. 2024. 6. 11. 이전 1 2 3 다음 728x90 반응형 LIST