ClickHouse 서버

최종 수정: 2026. 1. 23.

ClickHouse 서버 설치

외부 VM 서버에 ClickHouse를 설치하는 방법을 안내합니다.


📋 업데이트 예정

알림: ClickHouse 서버 설치 스크립트(o11y-db-install.sh)는 현재 개발 중입니다.
이 문서는 스크립트 완성 후 업데이트될 예정입니다.


개요

Skuber+ Observability는 3-Tier 아키텍처를 사용합니다. ClickHouse는 Host Cluster 내부가 아닌 별도의 외부 VM 서버에 설치됩니다.

환경 규모에 따라 두 가지 구성 옵션을 선택할 수 있습니다.


구성 옵션

옵션 1: 단일 노드 구성 (소규모 환경)

개발, 테스트, 소규모 프로덕션 환경에 적합합니다.

특징:

  • ClickHouse 노드 1개
  • ClickHouse Keeper 불필요
  • 설치 및 관리 간단
  • 데이터 복제 없음 (정기 백업 필수)

적합한 환경:

  • 개발/테스트 환경
  • 일일 데이터 50GB 이하
  • Agent 클러스터 1~5개

옵션 2: 클러스터 구성 (대규모 환경)

고가용성과 데이터 복제가 필요한 프로덕션 환경에 적합합니다.

특징:

  • ClickHouse 노드 2개 이상
  • ClickHouse Keeper 클러스터 필수 (3개 노드)
  • 데이터 자동 복제 (고가용성)
  • 노드 장애 시에도 서비스 지속

적합한 환경:

  • 프로덕션 환경
  • 일일 데이터 50GB 이상
  • Agent 클러스터 5개 이상
  • SLA 요구사항이 있는 경우

하드웨어 요구사항

옵션 1: 단일 노드

항목 최소 사양 권장 사양
VM 수 1개 1개
CPU 8 vCPU 16 vCPU
메모리 32GB RAM 64GB RAM
스토리지 500GB SSD 1TB+ SSD
스토리지 IOPS 3,000 10,000+

옵션 2: 클러스터

ClickHouse 서버 (노드당)

항목 최소 사양 권장 사양
VM 수 2개 2개 이상
CPU 8 vCPU 16 vCPU
메모리 32GB RAM 64GB RAM
스토리지 500GB SSD 1TB+ SSD
스토리지 IOPS 3,000 10,000+

ClickHouse Keeper

항목 요구사항
CPU 2 vCPU
메모리 4GB RAM
노드 수 3개 (홀수 필수)
배치 별도 VM 또는 ClickHouse 노드에 함께 배치 가능

참고: Keeper를 ClickHouse 노드와 같은 VM에 배치하면 VM 수를 줄일 수 있지만, 고성능 환경에서는 별도 VM을 권장합니다.


스토리지 산정 기준

데이터 유형 일일 예상 용량 (중규모) 보존 기간 7일
메트릭 10-20 GB 70-140 GB
로그 20-50 GB 140-350 GB
트레이스 5-15 GB 35-105 GB
합계 35-85 GB 245-595 GB

네트워크 요구사항

포트 프로토콜 용도 접근 출처
9000 TCP ClickHouse Native Host Cluster
8123 HTTP ClickHouse HTTP (옵션) 관리용
9181 TCP Keeper 통신 Keeper 노드 간

설치 방법 (예정)

설치 스크립트 (개발 중)

# 🚧 개발 중 - 향후 제공 예정

# 옵션 1: 단일 노드
./o11y-db-install.sh \
  --mode single \
  --host <clickhouse-vm-ip> \
  --ssh-user <ssh-username> \
  --ssh-key <path-to-ssh-key>

# 옵션 2: 클러스터
./o11y-db-install.sh \
  --mode cluster \
  --hosts <clickhouse-vm-ip-1>,<clickhouse-vm-ip-2> \
  --ssh-user <ssh-username> \
  --ssh-key <path-to-ssh-key> \
  --keeper-nodes <keeper-ip-1>,<keeper-ip-2>,<keeper-ip-3>

수동 설치 (임시)

스크립트가 준비되기 전까지 수동으로 설치할 수 있습니다.

옵션 1: 단일 노드 설치

Step 1: ClickHouse 설치

# Ubuntu/Debian
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | \
  sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg] \
  https://packages.clickhouse.com/deb stable main" | \
  sudo tee /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client

Step 2: 외부 접속 허용

sudo vi /etc/clickhouse-server/config.d/listen.xml
<clickhouse>
    <listen_host>0.0.0.0</listen_host>
</clickhouse>

Step 3: 서비스 시작

sudo systemctl start clickhouse-server
sudo systemctl enable clickhouse-server

Step 4: 연결 테스트

clickhouse-client --host localhost --query "SELECT 1"

옵션 2: 클러스터 설치

클러스터 구성은 ClickHouse 공식 문서를 참조하세요:


구성 선택 가이드

기준 옵션 1 (단일 노드) 옵션 2 (클러스터)
환경 개발/테스트/소규모 프로덕션/대규모
일일 데이터 50GB 이하 50GB 이상
Agent 클러스터 1~5개 5개 이상
가용성 단일 장애점 고가용성
데이터 복제 없음 자동 복제
Keeper 불필요 필수 (3개 노드)
관리 복잡도 낮음 중간
비용 VM 1개 VM 2개 + Keeper

다음 단계

ClickHouse 서버 설치가 완료되면:

  • Host 클러스터 설치 - ClickHouse 연결 정보로 Host 설치
  • Agent 클러스터 설치 - 모니터링 대상 클러스터 설치

참고 자료