NixOS에 ClickHouse 설치하기

NixOS에 ClickHouse 설치하기 (Install ClickHouse on NixOS)

Nix/NixOS 패키지 매니저로 ClickHouse를 설치하고 실행하는 방법을 안내합니다. Linux와 macOS 모두에서 Nix를 통해 ClickHouse를 손쉽게 쓸 수 있어요.

출처: 문서

본문

ClickHouse는 Nixpkgs 저장소에서 제공되며 Nix를 통해 LinuxmacOS에 설치할 수 있습니다.

  1. 권장 사항 확인

ClickHouse를 설치하기 전에 다음 권장 사항을 확인하세요:

  • Swap: 프로덕션 환경에서는 운영 체제의 스왑 파일을 비활성화하세요.
  • 디스크 공간: ClickHouse 바이너리는 설치에 최소 2.5 GB의 디스크 공간이 필요합니다.
  • 네트워크: 분산 배포(클러스터링)에는 최소 10 Gbit 네트워크 연결을 사용하세요. 네트워크 대역폭은 대량의 중간 데이터를 처리하는 분산 쿼리와 복제에 매우 중요합니다.

저장 공간 추정 데이터에 필요한 디스크 공간을 추정하려면:

  1. 데이터 볼륨 추정: 데이터의 샘플을 가져와 평균 행 크기를 계산한 뒤, 저장할 행 수를 곱하세요.
  2. 압축 계수 적용: 샘플을 ClickHouse에 로드해 원본 데이터 크기와 저장된 테이블 크기를 비교하세요. 예를 들어 클릭스트림 데이터는 보통 6~10배 압축됩니다.
  3. 복제본 고려: 여러 복제본에 데이터를 저장하려면 추정 볼륨에 복제본 수를 곱하세요.

더 자세한 하드웨어 요구사항은 "Sizing and hardware recommendations"을 참고하세요.

  1. Nix로 ClickHouse 설치

시스템에 영구 추가하지 않고 Nix로 ClickHouse를 설치할 수 있습니다:

# 최신 안정 버전 설치
nix shell nixpkgs#clickhouse

# 또는 LTS 버전 설치
nix shell nixpkgs#clickhouse-lts

이러면 현재 셸 세션에서 clickhouse 바이너리를 사용할 수 있습니다.

  • nixpkgs#clickhouse 패키지는 최신 안정 버전을 제공합니다.
  • nixpkgs#clickhouse-lts 패키지는 Long Term Support(LTS) 버전을 제공합니다.
  • 두 패키지 모두 Linux와 macOS에서 동작합니다.
  1. 영구 설치

시스템에 ClickHouse를 영구적으로 설치하려면: NixOS 사용자configuration.nix에 다음을 추가하세요:

environment.systemPackages = with pkgs; [
  clickhouse
];

그런 다음 시스템을 재빌드합니다:

sudo nixos-rebuild switch

비 NixOS 사용자는 Nix profile로 설치합니다:

# 최신 안정 버전 설치
nix profile install nixpkgs#clickhouse

# 또는 LTS 버전 설치
nix profile install nixpkgs#clickhouse-lts
  1. ClickHouse 서버 시작

설치 후 ClickHouse 서버를 시작할 수 있습니다:

clickhouse-server

기본적으로 서버는 기본 구성으로 시작하며 localhost:9000에서 수신 대기합니다. NixOS 프로덕션에서는 ClickHouse를 시스템 서비스로 구성할 수 있습니다. 사용 가능한 구성 옵션은 NixOS 매뉴얼을 참고하세요.

  1. ClickHouse 클라이언트 시작

ClickHouse 서버에 연결하려면 새 터미널을 열고 실행하세요:

clickhouse-client

Nix 패키지에 대해 (About the Nix Package)

Nixpkgs의 ClickHouse 패키지에는 다음이 포함됩니다:

  • clickhouse-server — ClickHouse 데이터베이스 서버
  • clickhouse-client — ClickHouse에 연결하는 커맨드라인 클라이언트
  • clickhouse-local — 로컬 파일에서 SQL 쿼리를 실행하는 도구
  • 그 밖의 ClickHouse 유틸리티

Nixpkgs의 ClickHouse 패키지에 대한 자세한 내용은 다음을 방문하세요:

더 알아보기 (Learn more)