> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> MacOS에서 ClickHouse 설치

# tgz 아카이브를 사용해 ClickHouse 설치

<div id="install-clickhouse-using-tgz-archives">
  # tgz 아카이브를 사용하여 ClickHouse 설치
</div>

> `deb` 또는 `rpm` 패키지를 설치할 수 없는 모든 Linux 배포판에서는 공식 사전 컴파일 `tgz` 아카이브를 사용하는 것이 좋습니다.

<Steps>
  <Step>
    ## 권장 사항 검토

    ClickHouse를 설치하기 전에 다음 권장 사항을 확인하십시오:

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

    **스토리지 요구 사항 추정**

    데이터에 필요한 디스크 공간을 추정하려면 다음 단계를 따르십시오:

    1. **데이터 양 추정:** 데이터 샘플을 가져와 평균 행 크기를 계산한 다음, 저장할 행 수를 곱합니다.
    2. **압축 계수 적용:** 샘플을 ClickHouse에 로드한 뒤 원본 데이터 크기와 저장된 테이블 크기를 비교합니다. 예를 들어 클릭스트림 데이터는 일반적으로 6\~10배 압축됩니다.
    3. **레플리카 고려:** 여러 레플리카에 데이터를 저장할 계획이라면 추정 용량에 레플리카 수를 곱합니다.

    더 자세한 하드웨어 요구 사항은 ["사이징 및 하드웨어 권장 사항"](/ko/guides/oss/best-practices/sizing-and-hardware-recommendations)을 참조하십시오.
  </Step>

  <Step>
    ## 최신 안정 버전 다운로드 및 설치

    필요한 버전은 리포지토리 [https://packages.clickhouse.com/tgz/](https://packages.clickhouse.com/tgz/) 에서 `curl` 또는 `wget`으로 다운로드할 수 있습니다.
    다운로드한 아카이브는 압축을 해제한 뒤 설치 스크립트로 설치해야 합니다.

    아래는 최신 안정 버전을 설치하는 예시입니다.

    <Note>
      프로덕션 환경에서는 최신 `stable` 버전을 사용하는 것이 좋습니다.
      릴리스 번호는 이 [GitHub 페이지](https://github.com/ClickHouse/ClickHouse/tags)에서
      접미사 `-stable`이 붙은 항목으로 확인할 수 있습니다.
    </Note>
  </Step>

  <Step>
    ## 최신 ClickHouse 버전 가져오기

    GitHub에서 최신 ClickHouse 버전을 가져와 `LATEST_VERSION` 변수에 저장합니다.

    ```bash theme={null}
    LATEST_VERSION=$(curl -s https://raw.githubusercontent.com/ClickHouse/ClickHouse/master/utils/list-versions/version_date.tsv | \
        grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1)
    export LATEST_VERSION
    ```
  </Step>

  <Step>
    ## 시스템 아키텍처 감지

    시스템 아키텍처를 감지하고 그에 맞게 ARCH 변수를 설정합니다.

    ```bash theme={null}
    case $(uname -m) in
      x86_64) ARCH=amd64 ;;         # Intel/AMD 64비트 프로세서용
      aarch64) ARCH=arm64 ;;        # ARM 64비트 프로세서용
      *) echo "Unknown architecture $(uname -m)"; exit 1 ;; # 지원되지 않는 아키텍처면 종료
    esac
    ```
  </Step>

  <Step>
    ## 각 ClickHouse 구성 요소의 tarball 다운로드

    각 ClickHouse 구성 요소의 tarball을 다운로드합니다. 이 루프는 먼저 아키텍처별
    패키지를 시도한 다음, 일반 패키지를 사용합니다.

    ```bash theme={null}
    for PKG in clickhouse-common-static clickhouse-common-static-dbg clickhouse-server clickhouse-client clickhouse-keeper
    do
      curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION-${ARCH}.tgz" \
        || curl -fO "https://packages.clickhouse.com/tgz/stable/$PKG-$LATEST_VERSION.tgz"
    done
    ```
  </Step>

  <Step>
    ## 패키지 압축 해제 및 설치

    아래 명령을 실행하여 다음 패키지를 압축 해제하고 설치합니다.

    * `clickhouse-common-static`

    ```bash theme={null}
    # clickhouse-common-static 패키지 압축 해제 및 설치
    tar -xzvf "clickhouse-common-static-$LATEST_VERSION-${ARCH}.tgz" \
      || tar -xzvf "clickhouse-common-static-$LATEST_VERSION.tgz"
    sudo "clickhouse-common-static-$LATEST_VERSION/install/doinst.sh"
    ```

    * `clickhouse-common-static-dbg`

    ```bash theme={null}
    # 디버그 심볼 패키지 압축 해제 및 설치
    tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION-${ARCH}.tgz" \
      || tar -xzvf "clickhouse-common-static-dbg-$LATEST_VERSION.tgz"
    sudo "clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh"
    ```

    * `clickhouse-server`

    ```bash theme={null}
    # 구성과 함께 서버 패키지 압축 해제 및 설치
    tar -xzvf "clickhouse-server-$LATEST_VERSION-${ARCH}.tgz" \
      || tar -xzvf "clickhouse-server-$LATEST_VERSION.tgz"
    sudo "clickhouse-server-$LATEST_VERSION/install/doinst.sh" configure
    sudo /etc/init.d/clickhouse-server start  # 서버 시작
    ```

    * `clickhouse-client`

    ```bash theme={null}
    # 클라이언트 패키지 압축 해제 및 설치
    tar -xzvf "clickhouse-client-$LATEST_VERSION-${ARCH}.tgz" \
      || tar -xzvf "clickhouse-client-$LATEST_VERSION.tgz"
    sudo "clickhouse-client-$LATEST_VERSION/install/doinst.sh"
    ```
  </Step>
</Steps>
