본문 바로가기

Tech

(42)
[Kafka] 카프카 컨슈머 그룹 삭제하기 회사에서 다른 파트의 동료로 부터 “Kafka 컨슈머 그룹을 삭제하고 싶어요.”라는 요청이 왔었다. 카프카 컨슈머 그룹 삭제? 그거 그냥 해당 그룹에 속한 컨슈머 커넥션이 계속 없으면 알아서 없어지는거 아닌가?라고 알고있었지만, 확실하게 답해주기 위해서 정보를 찾아봤다. 찾아본 결과는 이렇다. 1. server.properties에 offsets.retention.minutes 속성을 통해 오프셋 초기화 주기를 설정한다. default는 7분이라고 한다. 즉, 컨슈머 그룹에 해당하는 컨슈머가 일정 기간동안 컨슈밍을 하지 않으면 해당 컨슈머 그룹의 오프셋이 0으로 초기화 된다는 것이다. https://cwiki.apache.org/confluence/display/KAFKA/KIP-186%3A+Increa..
[Airflow] Airflow 학습 (2) Airflow는 그럼 어떻게 설치하나? 아래 docker-compose.yml를 참고하자. https://airflow.apache.org/docs/apache-airflow/stable/docker-compose.yaml Airflow를 Docker로 실행하고, 웹 서버를 접속해보면 다음과 같은 화면을 볼 수 있다. Pause/Unpause DAG: 비활성/활성 버튼이다. DAG: DAG 이름이다. Owner: DAG 파일을 만든 소유자이다. 생성자 추적시 사용된다. Runs: DAG 파일의 실행 상태를 나타낸다. (Success, Running, Failed) Schedule: DAG 파일의 실행 주기이다. Last Run: DAG 파일이 가장 최근으로 동작한 시간이다. Recent Tasks: 현재..
[Airflow] Airflow 학습 (1) Airflow를 왜 사용하는가? 이처럼 데이터를 목적에 맞게 활용하기 위해서는 수집 → 처리 → 저장 절차를 거칠 것이다. 처리는 데이터가 수집이 되어야 가능하고, 저장은 저장할 처리된 데이터가 있어야 가능하다. 만약 여기서 데이터 수집에서 문제가 발생한다면? 처리 → 저장 과정은 진행되지 못 할 것이다. 단순히 하나의 데이터 파이프라인이라면, 장애를 파악하기 비교적 편할 것이다. 하지만 하나의 파이프라인이 아닌, x개의 데이터 파이프라인이 존재한다면? 데이터 파이프라인 개수가 많을 수록 장애 확인 및 처리에 시간이 많이 소요 될 것이다. Airflow를 활용한다면, 데이터 파이프라인이 많더라도, 데이터 파이프라인을 시각적 관리, 모니터링, 스케쥴링, 데이터 파이프라인 설정 등을 관리하기 편이하다. 그럼..
[Postgresql] pg_dumpall 활용 경험 Postgresql DB가 동작중이던 서버가 날아감에 따라...gk.. (replica고 뭐고 딱 DB 하나 떠있었음...) 예전에 백업된 데이터를 다시 import 해야하는 상황이였다. 다행히도 pg_dumpall로 백업해놓은 dump file이 있었다. 이 dump file을 다시 적용했던 경험을 작성하려한다. 환경은 실 서비스에 적용하기 이전에 테스트 용으로 띄워서 테스트했다. (Docker Container) 1. Python Django REST Framework를 사용한 API 서버 2. Postgresql DB Postgresql 서버가 통채로 날아가는 경우를 경험하는건 처음이고, pg_dumpall로 export된 DB 백업 파일을 Import하는 것도 처음이였다. 백업을 진행하기 이전에 ..
[Hadoop]Docker Base 하둡 설치기 (2) [Hadoop]Docker Base 하둡 설치기 (1) 하둡 완벽가이드를 읽다보니, 실제로 구축해보고 직접 보고 싶다는 마음이 생겼다. 로컬에서 간단하게 구성하고 어느 환경에서든 구동할 수 있도록 Docker를 기반으로 구축해보았다. 먼저 결론부 kangprog.tistory.com 이전에 start-all.sh를 실행하지 않고, /bin/hdfs를 통해 각 노드 실행하는 걸로 만들었었다. 흠....... 다시 처음부터 갈아 엎었다. 이유는... 1. HA를 구성하려고 하다보니 각 노드를 실행시키는 것보다는 마스터 노드에서 일괄적으로 실행시키는게 편리했고, 2. NN, DN 폴더구조를 가지고 각 hdfs-site.xml을 관리 하려고 했는데, RM, HIVE 등등 늘어나면서, 만드는 내가 햇갈렸다. 그래..
[Hadoop] Docker Data Node 추가, 삭제 GitHub - kangprog/hadoop_cluster_tutorial: 하둡클러스터 튜토리얼 하둡클러스터 튜토리얼. Contribute to kangprog/hadoop_cluster_tutorial development by creating an account on GitHub. github.com datanode의 용량이 꽉차는 경우, 추가해야하는 상황이 생길 것이다. datanode04를 한번 추가해본다. docker-compose.yml에서 datanode03 내용을 그대로 복사하여 datanode04로 만들어준다. (volume도 datanode04 만들어준다) 그 후, docker-compose -f docker-compose.yml up -d datanode04 datanode04가 붙..
[Hadoop]core-site.xml, hdfs-site.xml 내가 테스트 구축에 사용한 hdfs의 버전은 2.9.2 따라서, Documentation Version 또한 2.9.2로 확인한다. core-site.xml Documents https://hadoop.apache.org/docs/r2.9.2/hadoop-project-dist/hadoop-common/core-default.xml hdfs-site.xml Documents https://hadoop.apache.org/docs/r2.9.2/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml Use core-site.xml from Base Image fs.defaultfs The name of the default file system. A URI whose sche..
[Hadoop]Docker Base 하둡 설치기 (1) 하둡 완벽가이드를 읽다보니, 실제로 구축해보고 직접 보고 싶다는 마음이 생겼다. 로컬에서 간단하게 구성하고 어느 환경에서든 구동할 수 있도록 Docker를 기반으로 구축해보았다. 먼저 결론부터 말하자면, centos7 베이스의 HDFS를 구축했다. 코드는 Git에 커밋중이고, HDFS 구성은 Release v1.0 이다.(아래 링크) (+추가: 가장 최신 master branch를 참고하면된다.) GitHub - kangprog/hadoop_cluster_tutorial: 하둡클러스터 튜토리얼 하둡클러스터 튜토리얼. Contribute to kangprog/hadoop_cluster_tutorial development by creating an account on GitHub. github.com 맨처..