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

> 在 macOS 上安装 ClickHouse

# 使用 tgz 压缩包安装 ClickHouse

> 建议在所有 Linux 发行版中使用官方预编译的 `tgz` 归档；尤其是在无法安装 `deb` 或 `rpm` 软件包时。

<Steps>
  <Step>
    ## 查看建议

    在安装 ClickHouse 之前，请先查看以下建议：

    * **Swap：** 在生产环境中禁用操作系统的交换分区或交换文件。
    * **Disk space：** 安装 ClickHouse 二进制文件至少需要 2.5 GB 磁盘空间。
    * **Network：** 对于分布式部署 (集群) ，建议至少使用 10 Gbit 网络连接。处理包含大量中间数据的分布式查询以及进行复制时，网络带宽至关重要。

    **估算存储需求**

    如需估算数据所需的磁盘空间：

    1. **估算数据量：** 抽取一部分数据作为样本，计算平均每行大小，然后乘以计划存储的总行数。
    2. **应用压缩系数：** 将样本加载到 ClickHouse 中，比较原始数据大小与存储后表的大小。例如，点击流数据通常可压缩 6–10 倍。
    3. **考虑副本：** 如果计划将数据存储在多个副本中，请将估算容量乘以副本数量。

    如需了解更详细的硬件要求，请参阅 ["容量规划与硬件建议"](/zh/guides/oss/best-practices/sizing-and-hardware-recommendations)
  </Step>

  <Step>
    ## 下载并安装最新稳定版本

    可以使用 `curl` 或 `wget` 从仓库 [https://packages.clickhouse.com/tgz/](https://packages.clickhouse.com/tgz/) 下载所需版本。
    下载完成后，解压归档文件并使用安装脚本进行安装。

    下面是安装最新稳定版本的示例。

    <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>
