본문 바로가기

Docker4

[Data Engineering Lab] #4. StarRocks Cluster 구축하기 (Shared Nothing) [Data Engineering Lab] #3. KRaft 모드로 Kafka Cluster 로컬에 구축하기안녕하세요 지난 포스팅(https://tedi.tistory.com/55)에 이어 Kafka Cluster를 로컬 제 맥북에 구축해보도록 하겠습니다. [Data Engineering Lab] #2. Docker Container에 고정 IP 할당하기보통 Docker를 쓸 때는 localhost:909tedi.tistory.com 지난 포스팅 Kafka Cluster 구축기 (https://tedi.tistory.com/56)에 이어 차세대 OLAP 엔진으로 부상하고 있는 StarRocks 클러스터를 구축해보겠습니다. 1. StarRocks Architecture 선정StarRocks는 Shared-D.. 2025. 12. 27.
[Data Engineering Lab] #2. Docker Container에 고정 IP 할당하기 보통 Docker를 쓸 때는 localhost:9092 localhost:9093 처럼 포트 번호로 서비스를 구분하곤 합니다. 하지만 저는 이 방식이 마음에 들지 않았습니다. 실제 운영 환경에서는 서버마다 각자의 IP가 있고, 그 IP를 기반으로 통신하기 때문입니다.1. 물리적으로 분리된 서버제가 굳이 고정 IP를 할당하려는 이유는 단순합니다. 진짜 클러스터답게 만들고 싶었기 때문입니다.현실감 있는 아키텍처: localhost에 포트만 바꿔서 접속하는 건 가짜처럼 느껴졌습니다. 10.100.0.4x 대역은 kafka, 10.100.0.2x대역은 Starrocks FE 식으로 물리적 주소 를 부여하고 싶었습니다.설정 파일의 명확성: Docker 포트 포워딩이 꼬이기 시작하면 설정 파일이 저저분해집니다. 고.. 2025. 12. 20.
[Data Engineering Lab] #1. Ansible, Vagrant 환경을 Docker로 변경한 이유 1. 나는 데이터 엔지니어인가, 서버 관리자인가?지난 포스팅들에서는 Vagrant, Ansible을 사용한 이유는 실제 베어메탈 서버와 가장 유사한 환경에서 데이터 엔지니어링 플랫폼을 구축하고 싶었기 때문입니다. 그러나 생각지 못한 변수들로 인해 데이터 엔지니어링 연구에 집중하기 보다 인프라 구축에 시간을 많이 쓰게 되었습니다. 맥북의 리소스한계: 24GB 맥북에서 가상서버 5대에 빅데이터를 위한 클러스터를 띄우는데 리소스 부담이 컸습니다.무한 반복되는 '삽질': 네트워크 인터페이스가 꼬이거나 SSH 연결 오류 등으로 vagrant를 다시 올렸다 내리는데 시간을 많이 버렸습니다.주객전도: 데이터 파이프라인에 대한 연구를 하고 싶었으나, 하루종일 인프라 코드 설정에 시간을 많이 쓰고 있었습니다. 결국 "이.. 2025. 12. 20.
Docker Container IP로 직접 접근하는 방법 - (docker-mac-net-connect) 맥북(macOS)환경에서 도커를 사용할 때 컨테이너 IP(172.17.0.x) 로는 직접 접근하지 못합니다. 그래서 매번 -p 옵션으로 포트 포워딩을 통해 localhost(127.0.0.1)로 접속해야만 했습니다. docker-mac-net-connect 을 사용하면 macOS에서도 컨테이너 IP에 직접 접근할 수 있습니다. `docker-mac-net-connect`는 macOS 호스트에서 실행되어 `Mac`과 `Docker Desktop Linux VM` 간의 링크 역할을 하는 가상 네트워크 인터페이스( utun )를 생성합니다.어디에 쓰일까?1. kafka, zookeeper 등 클러스터 통시을 하는 서비스를 띄울 때2. 마이크로서비스(MSA) 여러 개를 띄웠는데 포트 번호 충돌나서 매번 바꿔야할.. 2025. 12. 18.