일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 계정 관리
- DAG
- Airflow
- 오블완
- Next.js
- 논리삭제
- 티스토리챌린지
- grafana
- hard delete
- redis
- Django
- elasticsearch
- aws ec2
- slack
- prometheus
- JWT
- ci/cd
- Locust
- unique constraint
- soft delete
- 물리삭제
- nginx
- logstash
- node exporter
- Hadoop
- AWS
- 로그 백업
- NoSQL
- docker
- hive
- Today
- Total
목록데이터 엔지니어링 (7)
먹수의 개발일지
airflow 계정 리스트 조회airflow users list 계정 생성하기-r : 역할 종류는 아래에 맞게 선택하면 된다. RolePermissionAdminUser 추가 및 권한 부여, 취소를 포함한 모든 권한 (관리자)User뷰어와 동일하지만 DAG에 대한 편집 권한(지우기, 트리거, 일시 중지 등)이 존재 (개발자)Op사용자와 동일하지만 연결, 풀, 변수, XCom 및 구성을 보고 편집할 수 있는 추가 권한ViewerDAG에 대한 읽기 액세스Public권한 없음 airflow users create -f [이름] -l [성] -u [아이디] -e [이메일] -r Admin -p [비밀번호] 계정 삭제하기airflow users delete --email {e_mail} --username {..
개발 환경- OS: Ubuntu- Hadoop 설치되어 있는 name node docker containerHive 설치hadoop 3.3.6과 호환되는 hive 3.1.3을 설치해준다.https://downloads.apache.org/hive/wget tar -xvzf 파일명.tar.gz hive가 설치된 경로를 HIVE_HOME 환경변수로 지정export HIVE_HOME=/home/hive/apache-hive-3.1.3-binexport PATH=$HIVE_HOME/bin:$PATHsource ~/.bashrc Hadoop 경로 지정은 필수다.export HADOOP_HOME=/opt/hadoopexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport PA..
Spark 구성요소와 아키텍쳐SparkSession의 생성master과 appName을 필수로 지정해서 사용해보자local[1]에 숫자는 core 개수이며, 로컬에서 띄울때는 local로 지정해야한다. 그 외에 리소스 매니저(yarn, mesos, kubernetes 등)를 지정할 수 있다.val spark = SparkSession.builder() .master("local[1]") // yarn, mesos available .appName("SparkExamples") //UI에서 이름을 찾을 수 있다. .config("spark.sql.warehouse.dir", "/spark-warehouse") .enableHiveSupport() .getOrCreate(); s..
IntroHDFS 명령어로 디렉토리를 생성, 삭제하고 파일을 삭제, 복사, 다운로드, 출력하는 명령어를 정리해보자. 디렉토리 관리디렉토리 생성 및 조회hdfs dfs -mkdir [디렉터리 명]hdfs dfs -ls / #생성된 전체 디렉토리 리스트 확인hdfs dfs -ls /user #user 디렉토리의 하위 폴더 및 파일들 확인 디렉토리/파일 삭제-f : 진단 메시지를 보이지 않거나, 파일이 존재 하지 않을 경우 에러를 나타내기 위한 exist status 를 수정한다.-r : 컨텐츠와 디렉터리를 recursive 하게 삭제한다.hdfs dfs -rm -r [directory path] #hdfs dfs rmdir [directory path]와 동일하게 사용 가능하다.hdfs dfs -rm ..
IntroAirflow DAG를 실행시 실패 혹은 성공했을 때 알림을 받고자 했다.Slack webhook url은 https://api.slack.com/apps 해당 사이트에서 Create New APP을 통해 새로 생성하거나 기존 webhook url을 확인할 수 있다.Airflow Callback 작성dags 폴더 구조는 아래와 같다.dags├── plugins│ └── slack.py└── test.py Airflow에서 Callback 종류 *context로 전달되는 매개변수 정보 on_success_callbackTask 성공 시 호출된다.on_failure_callbackTask 실패 시 호출된다.sla_miss_callbackTask가 정해진 SLA를 충족하지 못할 때 호출된다.o..
#Dag 테스트airflow dags test DAG_NAME YYYY-MM-DD#Task 테스트airflow tasks test DAG_NAME TASK_NAME YYYY-MM-DDDebug interactively with dag.test()디버깅 환경 구축이 필요한 이유DAG에 코드를 작성하고 디버깅하는 과정에서 매번 schedule로 실행하여 확인할 수는 없다. Airflow scheduler에서 실행하지 않고 DAG를 vs code와 같은 에디터에서 빠르게 디버깅하고 테스트할 수 있는 방법을 알아보자.- Airflow 2.8.0 in docker container- IDE : VS Code Dag 파일에 test 설정아래와 같이 dag.test()를 추가해준다.if __name__ == "__..
클러스터 구축 방향 및 환경 일반적으로 다수의 컴퓨터로 하둡 클러스터를 구성하지만 다수의 컴퓨터를 보유하여 진행하기 어렵기 때문에, 하나의 컴퓨터에서 docker를 활용하여 클러스터를 구성하려고 한다. 로컬 환경 : Mac OS Docker OS : Ubutu 22.04 Hadoop 3.3.6 NameNode 1개, DataNode 3개 Ubuntu에 Hadoop 설치를 위한 환경 세팅 Docker를 통한 Ubuntu 이미지 다운로드 및 container 생성 사용할 Ubuntu 버전의 이미지를 다운로드 및 실행한다. $ docker run ubuntu:22.04 만약 다운받은 이미지를 원하는 이름으로 다시 만들고 싶거나 새로운 container를 만들고 싶다면 아래와 같이 이름(ubuntu)로 지정하여..